1、今天在搞拍照的时候发现在小米手机上出现问题,直接报这样子一个错误
java.lang.UnsatisfiedLinkError: dlopen failed:
“/data/app/com.nanjingtechlogy.quanguanban-2/lib/arm64/libjpegbither.so”
is 32-bit instead of 64-bit
这个是说我的so库需要64位,而我直接是32位的,这个就让我无言以对,我在别的手机上没有问题,在百度的时候大部分都是改编译,在build.gradle上搞事情,我觉得这个高大上,搞了一波卵用没有,最后看到一篇文章写道APP的运行问题,这样子说,
当App运行在64-bit 系统上时:
如果App包含64-bit库,它将运行在一个64位进程中,即VM是由Zytgote 64创建的。 如果App包含32-bit
库,它将运行在一个32 bit进程中,即VM是由Zytgote创建的 如果App不包含本地库,它将默认运行在64 bit进程中。
这样子不就简单了吗,意思很明显,App运行在手机是64-bit系统会优先运行arm64-v8a文件夹下的.so文件(这个.so文件是32-bit的),我去,你直接给我搞一个运行32位的是几个意思,哥一怒之下,把arm64-v8a文件夹删掉,结果程序正常运行,哈哈哈哈哈哈,反正我解决了,你们可以试试,恩,不行的话建议直接将32位转化为64位的搞上去,我的.so文件是我反编译.arr包拿到的,所以问题频出。。。