android - 我已经在 react native 中构建了我的应用程序,但我想减小大小
问题描述
我只使用文本图像(3 个图像大小可能总共 1mb)组件,但我的应用程序是在 20 MB 中构建的。如何减小最小 2-3 MB 的大小?
减小 React Native App (Android) 的大小
这就是你一直在等待的,我知道。打开android/app/build.gradle
设置 def enableProguardInReleaseBuilds = true
这将使 Progaurd 能够压缩 Java 字节码。
这会稍微减少应用程序的大小
设置 def enableSeparateBuildPerCPUArchitecture = true
Android 设备支持两种主要的设备结构 armebi 和 x86。默认情况下,RN 将这两种架构的原生库构建到同一个 Apk 中。设置最后一个函数会在构建文件夹中创建两个不同的 Apk。您必须将此Apk 上传到 Play 商店,Google会负责将应用程序分发到正确的架构。
使用此拆分为两个 Apk 生成版本号,顺序为 104856 等。这是由构建自动生成的,以避免版本冲突,所以不要惊慌(我做过)。
这种拆分将Apk 的大小分别从 arm 的 7MB 减少到 3.5MB和 x86 的 5MB。
解决方案
如果您使用的是非展览方式,那么有一种方法可以减少应用程序的大小。
简短的回答
生成项目包
长篇大论
默认情况下,生成的 APK 具有适用于 x86 和 ARMv7a CPU 架构的本机代码。这使得共享在几乎所有 Android 设备上运行的 APK 变得更加容易。但是,这样做的缺点是在任何设备上都会有一些未使用的本机代码,从而导致不必要的更大的 APK。
只需将您的应用程序拆分为不同的 CPU 结构
如果您打算在 google-playstore 上上传您的应用程序,那么只需生成捆绑包并将该捆绑包上传到 Play 商店。谷歌会为你做一切。
Bundle 的大小可能会很大,但是当您的用户在 Play 商店中看到您的应用程序时,它的大小会更小,具体取决于他们的 CPU 结构
推荐阅读
- scala - 如何替换数据框的多列值
- c++ - Octave 解释器:“listdlg 在此版本的 octave 中不可用”
- javascript - 如何在 Javascript 中有效地匹配和分组字符串?
- angular - 如何使用 Angular 8 中的数组映射到 json?
- go - 从供应商目录使用 google.golang.org/grpc 时出错
- wordpress - 图片标题wordpress
- android - 如何在android中的普通标记和集群标记之间制作单独的标记点击监听器
- javascript - getElementById 检查多个条件
- javascript - Setting Input Value Programmatically Not Working
- java - 从gwt中的一个选项卡注销后如何从所有打开的选项卡中注销