Android密度拆分不起作用

时间:2017-08-24 14:26:59

标签: android gradle apk

我的应用包含大量图片,因此目前签名的APK是> 100mb(约115mb)即使有优化的图像。我想使用密度分割来生成密度特定的构建。我目前在gradle文件中包含以下内容,但生成的APK大小相同,但仍包含所有资源。

// Configures multiple APKs based on screen density.
density {

    // Configures multiple APKs based on screen density.
    enable true

    // Specifies a list of compatible screen size settings for the manifest.
    compatibleScreens 'small', 'normal', 'large', 'xlarge'
}

我注意到其他人遇到了同样的问题,但没有人回复。我想对帖子发表评论,但我的声誉不够高:APK split by density still contains all resources

有没有人有任何想法?

下面的EDIT是比较hdpi版本构建和mdpi版本构建的两个屏幕截图。你可以清楚地看到它们的大小相同:

hdpi

mdpi

compare hdpi with mdpi

3 个答案:

答案 0 :(得分:2)

最后我解决了这个问题

在我的情况下,我必须在应用程序gradle脚本上的resConfigs块上删除defaultConfig

defaultConfig {
    resConfigs "en", "id" //remove this line
    //your other implementation
}

我不知道为什么,但似乎不知怎的resConfigs打破了apk分裂

答案 1 :(得分:0)

density {
  enable true
  reset()
  include "mdpi", "hdpi", "xhdpi", "xxhdpi",......
}

添加重置()并在您的代码中加入

答案 2 :(得分:0)

我不确定这是否是Android Studio 2的错误,但我可以使用Android Studio 3。

最初我觉得它可能是retrolambda插件的一个问题,但我并不积极。