我们项目中使用到了mupdf这个开源的pdf查看器,里面需要使用到libmupdf.so,此时会报couldn’t find libmupdf.so或者libmupdf.so is 32-bit instead of 64-bit错误,导致程序再浏览pdf文件时崩溃。
android Mupdf 加载.so库报错couldn't find "libmupdf.so" 或者libmupdf.so is 32-bit instead of 64-bit

android Mupdf 加载.so库报错couldn't find "libmupdf.so" 或者libmupdf.so is 32-bit instead of 64-bit

主要是因为手机CPU不匹配,手机CPU主要分为arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64。每个CPU里面的libmupdf.so文件都不一样。

android Mupdf 加载.so库报错couldn't find "libmupdf.so" 或者libmupdf.so is 32-bit instead of 64-bit

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 文件参考地址

相关文章: