Android6.0 UnsatisfiedLinkError couldn't find "xxx.so"
阿新 • • 發佈:2018-10-31
Android M 執行app時候出現如下問題:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/xxxx-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "xxx.so"
經過排查目前專案中支援CPU架構有(armeabi-v7a','armeabi', 'x86' )應用so 庫會根據CPU的型別查詢.SO庫,當使用cpu型別為64位,就不會再往下查詢.SO。報如上錯誤。
由於 libs目錄的不同cpu架構資料夾下面都存在相應的so檔案,所以排除tragetSdkVersion編譯版本過高導致的原因
解決這個問題:
在build.gradle中加入
android { splits { abi { enable true reset() include 'x86', 'x86_64', 'armeabi-v7a', 'armeabi' universalApkfalse } }
參考資料:http://frescolib.org/docs/multiple-apks.html#_
擴充套件: