web-dev-qa-db-ja.com

AndroidシステムでC / C ++プログラムをコンパイルして実行する方法

Q1)Androidエミュレータで簡単なcプログラムを実行したい。マシンでwindows xp osを使用しています。 Android開発用にsdk, jdk, Eclipseをインストールし、AVDでAndroidアプリケーションの実行に成功しました。

Q2)AVDでCプログラム(Javaなし)を実行する方法があるかどうかを知る必要があります。私のマシンにarmをインストールし、それを使用してCプログラムをコンパイルしました。

Q3)コンパイル済みのバイナリをAndroidデバイスまたはAVDにプッシュし、AndroidデバイスまたはAVD

29
user1125898

ARMクロスコンパイラでCプログラムをコンパイルできます。

arm-linux-gnueabi-gcc -static -march=armv7-a test.c -o test

次に、コンパイルしたバイナリファイルをどこかにプッシュできます(SDカードにプッシュしないでください)。

adb Push test /data/local/tmp/test
15
Ashkan

nDKを正常にインストールした場合は、サンプルアプリケーションから開始します

http://developer.Android.com/sdk/ndk/overview.html#samples

あなたがこれの別の方法に興味があるなら、これが役立つかもしれません

http://shareprogrammingtips.blogspot.com/2018/07/cross-compile-cc-based-programs-and-run.html

また、コンパイルされたバイナリをAndroidデバイスまたはAVDにプッシュし、AndroidデバイスまたはAVDの端末を使用して実行できますか?

ここで NestedVM を見ることができます

NestedVMは、Javaバイトコードのバイナリ変換を提供します。これは、GCCをMIPSバイナリにコンパイルし、それをJavaクラスファイルに変換します。 C、C++、Fortran、またはGCCでサポートされている他の言語で記述されたものは、100%pure Javaをソースの変更なしで実行できます。


例: Hello world CプログラムをクロスコンパイルしてAndroidで実行

7
Jeegar Patel

Native Development Kit をダウンロードする必要があります。

4
Ted Hopp