2012-05-09 11 views
2

共有ライブラリと共有ライブラリを使用する小さな実行可能ファイルがあるアプリケーションがあります。Android JNIライブラリのdir

小さなexecutalbe(〜2kB)はアセットにあり、私はContext.getCacheDir()を呼び出して利用可能なキャッシュディレクトリに書き込みます。 ProcessBuilderで処理を開始する前に、小さな実行可能ファイルをLD_LIBRARY_PATH=/data/data/my.app.package/libを環境に入れて起動することができます。

  1. ライブラリパスを設定するより良い方法はありますか?

  2. ライブラリディレクトリをハードコードなしで取得する方法はありますか? ProcessBuilder.environment()を通じてライブラリパスの設定

答えて

3

は私には合理的なようだ、とあなたは()Context.getApplicationInfoを呼び出すことで、ライブラリディレクトリを取得することができます:

ApplicationInfo info = getApplicationInfo(); 
Log.i(TAG, "native library dir = " + info.nativeLibraryDir); 
+0

はあなたが何であるかを教えてくださいすることができまさにこのディレクトリですか?それは他のアプリの間で共有されているのですか、それともアプリごとにプライベートですか?アプリをアンインストールするときに削除されますか? –

関連する問題