apk运行时报错:UnsatisfiedLinkError: dalvik.system.PathClassLoader 异常原因和解决方法

应用运行报错,运行报错:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/xxx/xxx.apk”],
nativeLibraryDirectories=[/data/app/xxx-1/lib/arm, /data/app/xxx-1/xxx.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn’t find “xxxxx.so”

这是因为应用工程中lib文件夹下面有armeabi和armeabi-v7a等多个目录(分别对应不同的CPU平台),安装时,会根据不同CPU平台把对应的lib下的so文件拷贝到手机的指定分区中。

若手机为64位,则有两个lib目录:/system/lib和system/lib64,app启动时,64位手机会先到/system/lib64中招so文件,若没有再去/system/lib中去找,如果lib64中没有so文件或者存在32位的so文件,则会查找失败,报出异常。

解决方法:查看手机CPU平台,并在指定的lib文件夹下查看指定的so文件是否存在。

参考:
http://www.cnblogs.com/poe-blog/p/4728970.html
http://blog.csdn.net/lihuapinghust/article/details/45825063

    原文作者:小小程序员jh
    原文地址: https://www.jianshu.com/p/26db5a5c869e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞