Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从android库中删除一些可绘制的密度_Android_Gradle - Fatal编程技术网

如何从android库中删除一些可绘制的密度

如何从android库中删除一些可绘制的密度,android,gradle,Android,Gradle,我的应用程序导入admob: com.google.android.gms:play服务广告:8.4.0 但它使我的应用程序非常大,我发现这个库中有“可绘制xxxhdpi”、“可绘制tvdpi”和非常大的图像,我想从这个库中删除(排除)这些图像 我在gradle中使用了“重新配置”,只包含了我以前需要的密度文件夹 但不确定,因为当密度的“重新配置”不受支持时 apk的密度分割似乎不符合我的要求 我现在该怎么办?您可以尝试使用它从库中删除不需要的资源。从其文档中: 除了删除项目中在运行时实际不需

我的应用程序导入admob:

com.google.android.gms:play服务广告:8.4.0

但它使我的应用程序非常大,我发现这个库中有“可绘制xxxhdpi”、“可绘制tvdpi”和非常大的图像,我想从这个库中删除(排除)这些图像

我在gradle中使用了“重新配置”,只包含了我以前需要的密度文件夹

但不确定,因为当密度的“重新配置”不受支持时

apk的密度分割似乎不符合我的要求

我现在该怎么办?

您可以尝试使用它从库中删除不需要的资源。从其文档中:

除了删除项目中在运行时实际不需要的资源外,这还会删除库中的资源,具体取决于应用程序是否实际需要这些资源

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

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

您可以尝试将xxxhdpi和tvdpi从发布的apk中分离和排除

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

这将生成不同的APK,以便稍后提交到playstore。有关拆分的更多信息

我不清楚它是否对您不起作用,或者您是否声明资源收缩与重新配置不起作用。如果是前者,则可能是按照提供的链接中所述设置
严格
模式的原因。shrinkResources会删除未使用的资源。virsir希望删除特定密度的已用资源。也许我的评论会有点离题,但他们没有更新他们的服务以支持向量机绘图?我不得不说这个答案不是我真正需要的。它将分别分为mdpi、hdpi包。