【发布时间】:2014-02-21 23:52:08
【问题描述】:
我有一个 Android 项目 A,具有 ndk 和 jni 功能。 它还链接到另一个库项目 B。
为了让事情更简单,我删除了链接库项目B, 并将编译后的 .jar 文件及其 .so 文件添加到 B 的 /libs 中。
我放了一条线 System.loadLibrary("libfromB.so");
现在我清理并重建项目 A。一切都很好。 我发现每次运行项目时,/libs 中的 libfromB.so 都会被删除。 所以它会抱怨: 02-21 17:47:26.493: E/AndroidRuntime(24086): java.lang.UnsatisfiedLinkError: 无法从加载器 dalvik.system.PathClassLoader [DexPathList [[zip 文件“/data/app/com.android. askquestion.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.android.askquestion.app-1, /vendor/lib, /system/lib]]]: findLibrary 返回 null
但是,我看到一些来自开源的 Android 项目,它们在 /libs 中有一些 .so 文件,它们不会自动删除。
【问题讨论】: