Par*_*tta 18 android apk react-native expo
我正在研究本机项目,但是每当我构建 Apk 文件时,它都会给我 47MB 的 Apk。我尝试了所有在 google 上发现有用的文档,但对我没有任何作用,有什么方法可以将我的应用程序大小减少到 10MB 以下,因为该应用程序只包含三到四页。任何帮助,将不胜感激
Mob*_*Dev 15
您可以尝试以下步骤
android/app/build.gradledef enableProguardInReleaseBuilds = true此项将使 Progaurd 能够压缩 Java 字节码。这稍微减少了应用程序的大小def enableSeparateBuildPerCPUArchitecture = true。Android 设备支持两种主要的设备架构 armebi 和 x86。默认情况下,RN 将这两种架构的原生库构建到同一个 apk 中。设置最后一个函数会在 build 文件夹中创建两个不同的 apk。您必须将这两个 apk 都上传到 Play 商店,Google 会负责将应用程序分发到正确的架构。使用此拆分按 104856 等顺序为两个 apk 生成版本号。这是由构建自动生成的,以避免版本冲突,所以不要害怕(我做到了)。这种拆分将 apk 大小分别从 arm 的 7MB 左右减少到 3.5MB,x86 的 5MB。
您可以在本文中找到更多信息https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640
Win*_*ing 10
好像android app bundle可以帮到你。但我也会回答这个问题how to reduce Android APK size in react-native
有很多方法可以使用 react-native 优化移动应用程序构建的应用程序安装大小。
反应原生应用程序的大小取决于:
要减少/优化您的应用程序大小,您必须优化以上 4 件事
我们编写 JS 代码,反应组件然后更新,替换为新的其他组件。随着时间的推移,js 代码库增长。变得一团糟和有味道,无用但很难从代码库中删除。它仍然导入到您的代码库中,但永远不会被使用,从而使您的应用程序大小增长。
-> 检查,在功能开发的 1 / 2 阶段后重构您的 JS 代码,使您的代码美观和精益。
JS react-native开发人员和beginners. 在本机库中,有大量的 Java/Objective-C 代码,开发人员很难接触到这些代码。他们的一些不受控制或没有必要。滥用本机库会导致应用程序大小飙升并导致一些奇怪的崩溃
-> 如果你不需要原生库,不要使用它,或者你可以通过 js 代码来完成。-> 用于Proguard通过shrink代码和remove unused codes. 15% - 20%配置 proguard 后,我的应用程序减小了应用程序大小。
在此处了解有关 proguard 的更多信息
图像、声音或视频等资产通常具有很高的权重。要优化资产,您可以使用以下一些提示:
不要滥用png,gif格式化jpg就足够了
使用tinypng.com 等工具优化图像文件大小 It's pretty good and fast
使用矢量图标。像react-native-vector-icons
不要在捆绑中包含高权重资产,您可以在用户第一次打开应用程序时处理下载和设置它们。
如果您的应用程序针对某些指定设备,则操作系统版本。您可以限制它,删除不受支持的架构。它可以2% -> 10%根据您删除的内容减少。
使用 Android 应用程序包,这是谷歌推荐的。如果您的应用以Play Store. 它将根据设备类型将您的捆绑文件分成许多可安装的 apk 文件。因此,您的应用仅包含此设备类型所需的资产/代码。很神奇吧?
在此处了解有关 Android App Bundle 的更多信息
如果为 APK 类型构建,我的应用程序之一是 40MB。当构建类型 AAB 为 40 MB 时。但是从 Goole Play 商店安装文件只有 13 -> 17 MB 取决于设备类型。
打开这些选项
def enableProguardInReleaseBuilds = true
def enableSeparateBuildPerCPUArchitecture = true
Run Code Online (Sandbox Code Playgroud)
寻找大型模块的替代品
使用cost-of-modules(npm 包会列出你的项目中包的大小)......并尝试找到 costy-packages 的替代方案
| 归档时间: |
|
| 查看次数: |
22643 次 |
| 最近记录: |