动态SO文件读取没有权限

java.lang.UnsatisfiedLinkError: dlopen failed: couldn't map "/data/app/ltd.qisi.navi-vZ6ZOpJM-YtSk8I32d4gYg==/base.apk!/lib/arm64-v8a/libbase_utils.so" segment 0: Operation not permitted

So 加载失败原因

        System.loadLibrary("XXXX");//动态加载libs目录下的so/arr文件

通常情况下应用会解压base.apk文件,然后将so文件copy到app的lib文件夹下


但因为部分系统定制厂商没有给/data/app文件夹的权限,会导致so文件无法复制到lib目录下从而使so加载失败

解决方法:

删除data文件夹下app应用,将apk push到系统的system/product/目录下,然后将so放入/system/lib64(如果是动态加载则不需要)

你可能感兴趣的:(动态SO文件读取没有权限)