Android密度拆分不工作

Android密度拆分不工作,android,gradle,apk,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

我的应用程序包含大量图像,因此当前签名的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'
}
我注意到其他人也遇到过同样的问题,但没有人回答。我想对这篇文章发表评论,但我的声誉不够高:

有人有什么想法吗

下面的编辑是比较hdpi发布版本和mdpi发布版本的两个屏幕截图。您可以清楚地看到它们大小相同:


添加reset()并将其包含在您的代码中

我不确定这是否是Android Studio 2的一个bug,但我将其用于Android Studio 3


起初我认为这可能是retrolambda插件的问题,但我不能肯定。

最终我解决了这个问题

在我的例子中,我必须删除应用程序gradle脚本上的
defaultConfig
块上的
resconfig

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

我不知道为什么,但似乎不知何故,
resconfig
break-apk-split

你在用口味吗?我在我的一些应用程序上做了一些测试,其中一个是我使用的是口味,这不起作用,但在另一个是dind没有任何味道它起作用不,我没有在这个应用程序上使用口味你能发布生成的两个apk的比较的打印屏幕吗?使用分析apk功能并将其与另一个功能进行比较?@NunoGomes我附上了两个屏幕截图。分析APK显示,它们有相同的确切内容,每个构建都有所有密度资源。我最终使用Android Studio 3 Beta实现了密度拆分。我制作了一个新的git分支,让我可以玩Android Studio 3。我认为潜在的问题可能与我在AndroidStudio 2中使用的retrolambda插件有关,以便使用Java8,但我不确定。
defaultConfig {
    resConfigs "en", "id" //remove this line
    //your other implementation
}