我试图在android studio项目中加载预构建的本机.so文件。
try {
System.loadLibrary("torq-demojs");
}
catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}在应用程序级别的build.gradle中,我指定了src。
ndk {
abiFilters "x86"
}
sourceSets {
main {
jniLibs.srcDirs =['/Users/arpalkumar/torq-native/build/out/jniLibs/android/v8/nativeui/demojs/debug/']
}
}该目录包含armeabi、armeabi-v7a和x86文件夹,其中包含libtorq-demojs.so文件。
即使我尝试提供像/Users/arpalkumar/torq-native/build/out/jniLibs/android/v8/nativeui/demojs/debug/x86这样的完整路径,我也得到了以下错误
java.lang.UnsatisfiedLinkError:dalvik.System.PathClassLoader[DexPathList..
不过,我还是会犯错误。我是不是遗漏了什么?
发布于 2018-10-10 01:40:27
您需要为您的Android模拟器或设备提供相应的ABI。例如,如果您的仿真器是x86_64体系结构,那么您需要使用libtorq-demojs.so文件来代替这个ABI。
注意,ABI x86的本地共享库可能不适用于带有ABI armeabi、armeabi-v7a或arm64-v8a的x86_64模拟器或设备。
https://stackoverflow.com/questions/52663923
复制相似问题