按密度分割的APK仍包含所有资源

我决定试试apk,以减less我的apk的大小。 我将下面的内容添加到我的gradle构build文件中

splits { // Configures multiple APKs based on screen density. density { // Configures multiple APKs based on screen density. enable true // Specifies a list of screen densities Gradle should not create multiple APKs for. exclude "ldpi" // Specifies a list of compatible screen size settings for the manifest. compatibleScreens 'small', 'normal' } } 

这成功地为各种密度生成单独的文件。 不过,我注意到所有的apks都是相同的大小,没有一个比通用的apk小。 所以,我加载了一个(app-hdpi-release.apk)到apk分析器,发现它包含了所有的资源。 没有人被剥夺。

所以所有的configuration都是用不同的文件名生成相同的apk。 我错过了什么吗? 是否有任何其他构build选项可能会阻止资源被删除?

Solutions Collecting From Web of "按密度分割的APK仍包含所有资源"

我做了一些打击和审判,并最终接受。 之前我只是在屏幕密度的基础上分裂。 然后我添加了标签$ compatibleScreens $,它工作。

这是最后的分割块,

 android { ... splits {  density {   enable true   reset()   include "mdpi", "hdpi", "xhdpi", "xxhdpi"   // This is the line of code which got it right   compatibleScreens 'small', 'normal', 'large', 'xlarge'  } } }