|
前提的条件: 开发了个人脸识别模块,导入第三方so库 , armeabi armeabi-v7a arm64-v8a 均有配置 ,且在config中配置了<preference name="android_abi" value="arm64-v8a"/>, 在Androidstudio中直接运行 APICloudModuleSDK是OK的;
1. 打成模块后自定义loader, 安装APK运行, 运行后提示 :
{ Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.rtk.app.hc-jAd89n8f8vO-KFat6Kpdhg==/lib/arm/libarcsoft_face_engine.so" is 64-bit instead of 32-bit }
架构不对 , 将APK解压看到lib文件中 armeabi 和arm64-v8a 均存在 , 且两个文件夹中都有三方so库
2. 然后就把armeabi文件整个删掉,只留了armeabi-v7a 和 arm64-v8a , 再次打模块自定义loader 运行后提示 :
{ Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.apicloud.pkg.sdk-VVdMLreDeR3pbtd6SnUMQg==/base.apk"],nativeLibraryDirectories=[/data/app/com.apicloud.pkg.sdk-VVdMLreDeR3pbtd6SnUMQg==/lib/arm, /data/app/com.apicloud.pkg.sdk-VVdMLreDeR3pbtd6SnUMQg==/base.apk!/lib/armeabi-v7a, /system/lib, /product/lib]]] couldn't find "libarcsoft_face_engine.so" }
现在直接找不到so库 , 将APK解压 看到lib文件中 armeabi 和arm64-v8a 均存在 , 但armeabi 中没有三方so库 只有arm64-v8a中有三方的so库 ;
3. 直接把armeabi 和 armeabi-v7a 都删掉 只留了 arm64-v8a ; 和把armeabi 和 arm64-v8a 都删掉只留armeabi-v7a ; 重复以上实验 , 得出结果同 2 一致;
请问这种情况怎么操作解决这类问题?
|
|