AndroidApp に送信される .c ファイルをコンパイルして実行したいと考えています。ARM 用の ARM .c ファイルでコンパイルしたいと考えています。Android 4.2 で Galaxy Nexus を使用しています。Android SDK と Android NDK をインストールしました。ターミナル IDE でこれを実行しましたが、ターミナルから手動でコンパイルしたくありません。Android用GCC(android-gcc-4.4.0)をダウンロードしましたが、これをアプリケーションに適切に追加する方法と、Javaコード内からコンパイルする方法がわかりません。
私はこれについてインターネットでたくさんのことを読みましたが、どれも実際にこれを行う方法を理解するのに役立ちませんでした
だから私の問題は次のとおりです。AndroidアプリからAndroid / NDKツールチェーン、またはその他のツールチェーンを使用して.cファイルをコンパイルして実行するにはどうすればよいですか。
編集: Android-gcc を携帯電話のファイル ディレクトリ (data/data/.../files) に解凍しました。電話で gcc コンパイラを呼び出して、.c ファイルをコンパイルしたいと考えています。私は使用しようとしました:
String[] cmds={MainActivity.this.getFilesDir() + "/android-gcc-4.4.0/bin/arm-eabi-gcc-4.4.0", "-c", file_path};
String result = "";
Process p = Runtime.getRuntime().exec(cmds);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = in.readLine()) != null)
{
result += line + "\n";
}
alert_dialog("Output", result); // Creates and displays an alert dialog
in.close();
}
catch (Exception e)
{
alert_dialog("Error", e.toString() + "\n" + e.getMessage());
}
これは Android で gcc を呼び出す私のアプローチでしたが、次の例外しか取得しません: java.io.IOException: Error running exec()。コマンド [...] 作業ディレクトリ: null 環境 null。
電話でandroid-gccコンパイラを正しく呼び出す方法を知っている人はいますか?
どんな助けでも感謝し、事前に感謝します