Android获取JNI库目录

3

我有一个应用程序,其中包含一个共享库和一个使用该共享库的小型可执行文件。

这个小型可执行文件(约2KB)在assets中,我将它写入缓存目录,可以通过调用Context.getCacheDir()来获取。我可以在使用ProcessBuilder启动进程之前,在环境变量中放置LD_LIBRARY_PATH=/data/data/my.app.package/lib来启动我的小型可执行文件。

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

  2. 是否有一种方法可以获取库目录而不是硬编码它?

1个回答

5

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

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

请问这个目录是什么?它是与其他应用程序共享的,还是每个应用程序都有自己的私有目录?卸载应用程序时,它会被删除吗? - android developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接