2011-11-15 3 views

答えて

0

あなたはAndroid NDKが見つかる必要がありますhere Android用のCコードのコンパイル方法とWebページには例があります。ネイティブコードライブラリに対応するネイティブ ライブラリを埋め込む方法をCとC++のソース から を生成するために使用

ツールのセットとビルドファイルを:NDKが提供するNDK Website:

から

デプロイ可能なアプリケーションパッケージファイル(.apk)に埋め込みます Androidデバイスの場合 という新しいネイティブシステムヘッダーとライブラリのセットは、今後のすべてのバージョンのAndroidプラットフォームでサポートされる予定ですAndroid 1.5以降のネイティブアクティビティを使用するアプリケーション は、Android 2.3以降で実行する必要があります。ドキュメント、サンプル、および チュートリアル

それはあなたが達成したいものに近いだ場合、私はまたthisを見つけました。

+0

感謝を。私は既にNDKをダウンロードしました。私がやろうとしているのは、rsyncのソースコードを実行可能なバイナリにコンパイルして、このバイナリをjavaコード内で呼び出せるようにすることです。 – Macchiato

+0

私が正しく理解していれば、ライブラリをコンパイルするのではなく、実行可能ファイルを作成することは望ましくありません。私はこれを達成することは非常に難しいと思うし、コードをライブラリにしてその方法で使うことができれば個人的に私は見るだろう。私は上記の私の答えにいくつかのリンクと情報が含まれています。 – Kerry

+0

こんにちはケルブ、申し訳ありませんが私はあなたの答えの2番目のリンクを気づかなかった。私はまた、そのサイトでつまずいた。しかし、私はNDK提供のクロスコンパイラを使ってコードをコンパイルすることになります。ありがとう。 – Macchiato

10

静的リンクを想定してNDKなしでコンパイルできます。これは私のためにUbuntu 13.04 Raring Ringtailで動作します。

クロスコンパイラのインストール:静的リンクを使用して、クロスコンパイラで

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz 
tar -zxv -f rsync-3.0.9.tar.gz 
cd rsync-3.0.9 

コンパイル:

./configure --host=arm-linux-gnueabi CFLAGS="-static" 
make 

あなたが一緒にいくつかの警告を取得します

sudo apt-get install gcc-arm-linux-gnueabi 

ダウンロードのrsyncをUsing X in statically linked applications requires at runtime the shared libraries from the glibc version used for linkingの行。しかし、これまでのところ、rsyncが私のために働いています。

そして最後に、あなたの携帯電話にインストールは、(あなたがSSHDroidを使用していると仮定):あなたの迅速な応答を

scp -P 2222 rsync [email protected]$PHONE_IP:/data/data/berserker.android.apps.sshdroid/dropbear 
+0

実行する前にバイナリを/ data(たとえば/ data/local/tmp)に移動して実行可能にする必要があります(chmod 0777 rsync)。 – yanokwa

+0

バイナリとは何ですか?あなたは私を助けます。http://stackoverflow.com/questions/22529567/compile-the-rsync-source-code-and-deploy-it-to-android-device – pengwang

関連する問題