【问题标题】:Gradle density abi apksGradle 密度 abi APK
【发布时间】:2018-05-11 05:34:49
【问题描述】:

我正在使用带有拆分的 gradle 生成 android apk。

以下是我使用的示例:

splits {
    density {
      enable true
      reset()
      include "mdpi", "hdpi"
    }
    abi {
      enable true
      reset()
      include "x86", "arm64-v8"
    }
}

根据文档,它应该生成 4 个 apks mdpi-x86、mdpi-arm64-v8、hdpi-x86 和 hpdi-arm64-v8。

但是,当我运行 gradle 脚本时,会生成 6 个 apk,上面的四个和另外两个:x86.apk 和 arm64-v8.apk。我不确定为什么会生成这些,以及它的原因是什么。有没有办法不生成这些?

【问题讨论】:

    标签: android gradle android-gradle-plugin


    【解决方案1】:

    当您按密度拆分时,Android 插件将始终为屏幕密度不受支持(至少目前)的设备生成一个“附加”APK。

    根据他们的documentation

    因为每个基于屏幕密度的 APK 都包含一个标签,该标签对 APK 支持的屏幕类型有特定限制,即使您发布了多个 APK,一些新设备也不会匹配您的多个 APK 过滤器。因此,Gradle 始终会生成一个额外的通用 APK,其中包含适用于所有屏幕密度的资产并且不包含标签。您应该将这个通用 APK 与您的每密度 APK 一起发布,以便为与标签不匹配 APK 的设备提供后备。

    在您的情况下,由于您还按 ABI 进行拆分,因此您会获得两个“附加”APK,而不仅仅是一个。

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 1970-01-01
      • 2021-02-11
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多