3

main()標準関数を使用して C で記述されたプログラムがあります。

このプログラムを Android で実行することはできますか? たとえば、アプリケーションから起動したり、多くのシェル アプリケーションから起動したりできますか? もしそうなら、これを達成するためにどのような手順を踏む必要がありますか? アプリケーションを NDK でコンパイルすることはできますか?

主に NDK チュートリアルを指摘して、C 関数を Android コードにリンクする方法に関するいくつかの回答済みの質問があることは知っていますが、少なくとも私にとってはどれも明確ではありませんでした。NDK は、完全に C でコンパイルされたプログラムを実行するのではなく、C 関数を使用することがすべてのようです。これは正しいです?

4

2 に答える 2

5

必要なのは、クロスコンパイラを使用して正しいアーキテクチャ (通常は ARM) 用にコンパイルすることだけです (入手方法は Linux ディストリビューションによって異なります)。次に、他の実行可能ファイルと同様に (Java ベースの) から実行できます。

Process process = Runtime.getRuntime().exec(commandLine);

プログラムでアンドロイドでシェルコマンドを実行する方法はありますか? を参照してください。「実行」部分の詳細については。

于 2012-09-20T11:55:00.857 に答える
0

NDKには、Cソースから実行可能ファイルをビルドするために必要なすべてのツールが含まれており、Linux、Mac、およびWindows用にダウンロードできます。使用する必要のある魔法のエンチャントは、$(BUILD_EXECUTABLE)を含めることです。

于 2012-09-20T17:09:04.297 に答える