【问题标题】:How to decrease React-Native android App Size如何减少 React-Native android 应用程序大小
【发布时间】:2016-03-11 13:02:40
【问题描述】:

对于我的 react native android app,我写的代码大小只有 12KB

但生成的包大小为 7.9MB。我怎样才能减少它。

根据 Documentation 对于本机反应,我已经在文件 app_root/android/app/proguard-rules.pro 上启用了 proguard,但大小没有减少

...
android {
    ...
    buildTypes {
        release {
            ...
            minifyEnabled true
        }
    }
}
...

有解决方案吗?

【问题讨论】:

  • minifyEnabled false怎么样
  • false 是默认存在的,这不起作用
  • 现在大小为 30mb,单独架构为 9mb

标签: android react-native android-gradle-plugin react-native-android


【解决方案1】:

React Native 应用 APK 包括适用于 x86 和 ARM 的 JSCore 二进制文件。如果您不需要 x86,则可以将大小减小到 3-4 MB。

1)在你的 app/build.gradle 集合中

def enableSeparateBuildPerCPUArchitecture = true

2) 从 abiFilters 中移除 x86

这帮助我将大小从 7.8 MB 减小到 4.5MB

【讨论】:

  • 如何从 abiFilters 中删除 x86?
  • 我认为同一文件中android.defaultConfig.ndk中的abiFilters "armeabi-v7a", "x86"行应该简单地更改为abiFilters "armeabi-v7a
【解决方案2】:

Android 设备支持 armebix86 两种主要设备结构。默认情况下,RN 将这两种艺术的原生库构建到同一个 apk 中。

打开 android/app/build.gradle :

设置 def enableProguardInReleaseBuilds = true,

这将使 Progaurd 能够压缩 Java 字节码。这将应用程序的大小减少了一点

还有,

设置 def enableSeparateBuildPerCPUArchitecture = true .

然后检查 android/app/build/outputs/apk/ - 您将收到两个用于 armebi 和 x86 的 apk 文件,大小约为原始 apk 的一半。

【讨论】:

  • 不错的答案。但是有一个问题......是否有哪些设备支持 x86 和哪些 armebi 的概述。
【解决方案3】:

有几种技术可以减小 APK 大小:

  1. 按架构拆分您的应用,您可以通过一系列知名架构拆分您的 APK:armeabi-v7a、x86、arm64-v8a、x86_64

    如果您要分发您的应用程序,使用 Play 商店,最好使用 Android 应用程序包。

  2. 启用 prodguard 会导致 APK 变小。

  3. 优化您的图片资源,如果有机会,请尝试尽可能多地使用 SVG 资源。

通过启用新的 JavaScript 引擎,React-Native 0.62 中生成的 APK 的大小发生了变化,该引擎将原生库的大小减少了近 40% Hermes Engine

以下这些统计数据来自 Hermes 引擎,还提到了 APK 大小的减少。

【讨论】:

  • 如果你能给我一些关于你最后一句话的文件和资源,我将不胜感激......(RN.62)
猜你喜欢
  • 2018-10-04
  • 2020-04-25
  • 2016-07-06
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
相关资源
最近更新 更多