我在我的应用程序中使用了一个本地库,它只为armeabi,armeabi-v7a和x86编译。 当这个库加载到像三星S6这样的64位设备上时,应用程序崩溃,出现UnsatisfiedLinkError java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.myapp-2/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libfoo.so" at java.lang.Runtime.loadLibrary(Runtime.java:366) at java.lang.System.loadLibrary(System.java:989) 图书馆封闭的来源不幸。 有没有办法解决这个问题,而不用重新编译64位目标的库?
我有一个本地代码的Android项目。 我能够通过调用ndk-build命令而不是错误或警告来从命令行构build本机代码。 但是,当我在ADT中打开它时,显示以下错误。 错误消息: Method CallStaticIntMethod could not be resolved. 项目中有很多错误类似的文件。 我加倍检查configuration,这是我有。 Android构build,工具链和包括正确configuration(见下图) 必需包括也是在项目浏览器中可见的,它们是有效的(不是空的,并指向正确的头文件)。 但是,当我Clean项目,并Build它,错误仍然存在。 任何想法如何解决这个问题? configuration:ADT 22.6.2,NDK r9d(64位),OSX 10.9.2