Linuxでコンパイルして実行するように設計されたソフトウェアに取り組んでいます。最近、NDKを使用してAndroid用にクロスコンパイルするように依頼されました。これは驚くほど簡単でした。
これをすばやく行うために、JNIラッパーを記述せずにソースをコンパイルしました。adb push
結果のバイナリをエミュレータ(ルート化)にコピーし、から実行しましたadb shell
。すべてがうまくいきました。
今私の質問は:どうすればそれらのバイナリをAndroidアプリケーションに埋め込んで実行できますか(サービスのように機能し、バックグラウンドで実行する必要があります)?
JNIインターフェースをサポートするように既存のコードを変更することは避けたいのですがexec
、他のバイナリーだけで問題ない小さなJNI/Cコードを記述します。
ボーナスの質問:埋め込まれたら、インストールされたバイナリのパスを知る方法はありますか?