我们项目中使用到了mupdf这个开源的pdf查看器,里面需要使用到libmupdf.so,此时会报couldn’t find libmupdf.so或者libmupdf.so is 32-bit instead of 64-bit错误,导致程序再浏览pdf文件时崩溃。
主要是因为手机CPU不匹配,手机CPU主要分为arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64。每个CPU里面的libmupdf.so文件都不一样。
CPU类型介绍
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板。
解决方法:
1、下载对应CPU的libmupdf.so文件全平台so文件下载
2、自己编译libmupdf.so 文件参考地址