我们添加了此AndroidPdfViewer library来支持在应用中查看PDF报告。它导致APK大小从4.7Mb大幅增加到20.1Mb。
有没有办法减小这个尺寸。让我知道在哪里以及需要修补什么来帮助或解决这个问题。
我熟悉proguard,并为我的应用配置合理的成功。
答案 0 :(得分:3)
为什么导致apk太大?
Android PdfViewer依赖于PdfiumAndroid,它是许多架构的本机库集(大约16 MB)。 Apk必须包含所有这些库,以便在市场上的每个设备上运行。幸运的是,Google Play允许我们上传多个API,例如每个架构一个。有一篇关于自动将您的应用程序拆分为多个apks的文章,可用here。最重要的部分是使用APK Splits改进多个APK创建和版本代码处理,但整篇文章值得一读。您只需在您的应用程序中执行此操作,无需分支PdfiumAndroid等。
答案 1 :(得分:2)
您必须为不同的设备生成多个APK,通过这样做,您可以将apk的大小减少到比以前减少10 MB。将以下代码添加到build.gradle(Module:App)
{{1}}
这里有什么视频https://youtu.be/bP05Vpp49hs有关如何操作的详细说明。
答案 2 :(得分:0)
如果有人在为您的应用寻找轻量级的pdf查看器,请尝试使用此
由于barteksc-androidpdfviewer需要更多空间,它帮助我将应用程序大小从27MB减小到10MB
答案 3 :(得分:0)
我也遇到了同样的问题,但是到目前为止,通过使用Android应用程序捆绑包来减小apk大小非常容易。 首先在build.gradle(Module:app)中将这些行添加到android {}括号内。
bundle {
abi {
enableSplit = true
}
}
这将根据体系结构处理apk拆分。 现在,还记得在proguard-rules.pro
中添加此行-keep class com.shockwave.**
如果您不将这一行添加到proguard-rules.pro中,则您的应用将在发行版中崩溃。 现在,在此之后转到 Build ,然后选择 Generate Signed Bundle / apk 。从这里生成一个签名的包。捆绑包的生成方式与生成APK的方式非常相似。 然后,将捆绑包(.aab文件)上传到Google Play控制台,您会看到每台设备根据其体系结构获得不同的apk。 这是减小应用程序大小的最简单方法。多个apk概念更加复杂。
所以,我建议您使用这种方式。