Android App 如何快速集成和升级 MuPdf 而不用自行构建编译so库?3步搞定

关于集成 Android MuPdf ,网上大部分文章的解决方案都是需要将代码 clone 下来,然后安装 Cygwin 进行编译,最后生成 so 等文件。

对于新手或不清楚怎么编译 so 的朋友来说是非常痛苦的,因为还要花时间去学习怎么构建编译。

在任务比较赶的情况下,最好不用自己编译就能拿到最新版的 so文件,因为构建、编译等等一系列操作最终目的还是生成 so 文件而已。

下面 3 个步骤就能搞定。

一、官网下载 Apk 包

在官网地址 MuPDF 的 download 页面下载自己所需要的 apk 版本 ,截至发稿最新版是 v1.23.4a

将 android-viewwer.apk 下载下来,然后将后缀 apk 改为 zip 进行解压,就能在 lib 文件夹就能找到各种架构的 so 文件。

至此完全不用自己去编译就能得到 so 文件,就问你屌不屌(#^.^#)

二、Github 下载源码

有了 so 文件,还需拿到上层的 java 代码,该代码分 2 部分,一个是调用 so 库的核心代码,另一个是调用核心代码的 UI 层代码。

注意:

  1. 核心层的源码 com.artifex.mupdf 包名最好不要变动,因为 so 层代码是用此包名,否则会报错
  2. 根据 Apk 的版本去下载所对应版本的源码

2.1 抽取核心层代码

源码可在 GitHub 下载:mupdf

在 Tags 找到 apk 版本所对应的源码

由于本人上面所下载的 Apk 版本的是 v1.23.4a ,所以就下载该版本的源码 zip 即可。

源码 zip 包含了所有平台的代码,我们用到的代码在 platform/java/src/com/artifex/mupdf/fitz 路径下,直接将该路径下的代码拷贝到项目中即可

2.2 抽取 UI 层代码

源码地址:mupdf-android-viewer

还是在 Tags 页面 下载源码

所用到的代码在 lib/src/main/java/com/artifex/mupdf/viewer,路径下,直接将该路径下的代码拷贝到项目中即可

三、将 2 部分源码及 SO 库导入 Android studio 运行

3.1 将核心层代码及 so 文件直接拷贝到项目上

代码在上面: 【2.1 抽取核心层代码】章节有描述

so 文件从 apk 中提取: 【一、官网下载 Apk 包】章节有描述

3.2 将UI层代码直接拷贝到项目上

代码在上面: 【2.2 抽取UI层】章节有描述

除了 Java 代码,UI层还有资源文件也一起拷贝过来。

最终修改部分文件的资源引用问题,即可运行成功。

总结

主要的还是 3 点

  1. 下载 Apk 解压提取 so 文件
  2. 下载调用 so 文件的核心代码
  3. 下载界面显示的代码

至此已完成 MuPdf 的集成,如集成的过程有问题欢迎在评论区留言!!

相关推荐
xiangxiongfly9151 小时前
Android GsonFactory总结
android·gson·gsonfactory
WythePlus3 小时前
Android 14 SELinux策略深度解析
android·安全策略·selinux策略
俩个逗号。。6 小时前
Kotlin flow 详解
android·开发语言·kotlin
橙光成长8 小时前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI8 小时前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx9 小时前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
恋猫de小郭11 小时前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
2501_9160088911 小时前
iPhone 设备信息查看,用 KeyMob 看型号、序列号、电池健康和 UDID
android·ios·小程序·https·uni-app·iphone·webview
好的佩奇21 小时前
蓝牙之通信架构
android·flutter·蓝牙
FlightYe1 天前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频