【问题标题】:Specifying ndkVersion in build.gradle outputs apk with smaller download size?在 build.gradle 中指定 ndkVersion 输出下载大小较小的 apk?
【发布时间】:2021-09-16 23:16:49
【问题描述】:

所以在我的带有本机库的应用程序中(一些预编译的 .so 文件,一些在构建期间编译),如果我没有在 build.gradle 中指定 ndkVersion,那么它会生成大小约为 8.8 MB 的 apk(下载大小由 apkanalyzer 确定)。 当 ndkVersion 设置为 17.2.4988734 时,它会生成大小约为 7.6 MB 的 apk。 当 ndkVersion 设置为 22.1.7171670 时,它会生成大小约为 7.2 MB 的 apk。

我知道与 17.2.4988734 相比,NDK 22.1.7171670 中可能存在优化。我不明白的是,为什么在未指定 ndkVersion 时,本机库中存在相当大的(双关语)差异?

另外,大小变化主要在预编译的.so文件中,而不是在生成apk时由构建系统生成的文件中。

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:

    来自文档:

    当您安装 NDK 时,Android Studio 会选择最新的可用 NDK。对于大多数项目,安装这个默认版本的 NDK 就足够了。不过,如果您的项目需要一个或多个特定版本的 NDK,您可以下载并配置特定版本。

    所以,NDK 22.1.7171670 比您拥有的最新 NDK 版本更好(针对大小进行了优化)。这是合理的,因为大多数新版本首先会优化新代码以提高速度,然后再担心后续版本的大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多