如何从android库中删除一些密度drawable

时间:2016-02-29 13:09:42

标签: android gradle

我的应用导入admob:

com.google.android.gms:播放服务的广告:8.4.0

但它使我的应用程序非常大,我发现有" drawable-xxxhdpi"," drawable-tvdpi"从这个包含非常大图像的库中,我想从这个库中删除(排除)那些。

我用过" resConfigs "在gradle中只包含我之前需要的密度文件夹,

但不确定,因为" resConfigs"密度不支持

https://code.google.com/p/android/issues/detail?id=179136

密度分裂似乎不符合我的要求。

我现在该怎么做?

2 个答案:

答案 0 :(得分:3)

您可以尝试从发行版apks中分割并排除xxxhdpi和tvdpi。

  splits { 
        density { 
                 enable true  
                 exclude "xxxhdpi", "tvdpi",
        }
   }

这将生成不同的apks,以便稍后提交给Playstore。有关拆分here.

的详细信息

答案 1 :(得分:-1)

您可以尝试使用Resource Shrinking来删除库中不需要的资源。来自其文档:

  

除了删除项目中运行时实际不需要的资源外,如果应用程序实际上不需要它们,还会从库中删除资源

但是,您还需要配置Proguard,这本身就是一个不同的问题。但是,如果您已经配置了它,只需将shrinkResources true添加到您的gradle脚本中,如下例所示。

buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}