Android获取JNI Library目录

时间:2012-05-09 13:21:11

标签: android android-ndk shared-libraries

我有一个应用程序,它有一个共享库和一个使用共享库的小型可执行文件。

小的executalbe(~2kB)在资产中,我将其写入缓存目录,可通过调用Context.getCacheDir()获得。在使用LD_LIBRARY_PATH=/data/data/my.app.package/lib开始此过程之前,我可以通过将ProcessBuilder放入环境来启动我的小型可执行文件。

  1. 有没有更好的方法来设置库路径?

  2. 有没有办法在没有硬编码的情况下获取库目录?

1 个答案:

答案 0 :(得分:3)

通过ProcessBuilder.environment()设置库路径对我来说似乎很合理,你可以通过调用Context.getApplicationInfo()来获取库目录:

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