3

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

小さな実行ファイル (~2kB) はアセットにあり、それをキャッシュ ディレクトリに書き込みます。キャッシュ ディレクトリは、 Context.getCacheDir(). LD_LIBRARY_PATH=/data/data/my.app.package/libでプロセスを開始する前に、環境に入れることで小さな実行可能ファイルを開始できProcessBuilderます。

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

  2. ハードコーディングせずにライブラリディレクトリを取得する方法はありますか?

4

1 に答える 1

5

ProcessBuilder.environment() を介してライブラリ パスを設定することは私には合理的であり、Context.getApplicationInfo() を呼び出すことでライブラリ ディレクトリを取得できます。

ApplicationInfo info = getApplicationInfo();
Log.i(TAG, "native library dir = " + info.nativeLibraryDir);
于 2012-05-10T14:33:25.130 に答える