Android 如果我们从build.gradle文件中删除重新配置,会发生什么?
我的build.gradle文件如下所示:Android 如果我们从build.gradle文件中删除重新配置,会发生什么?,android,build.gradle,Android,Build.gradle,我的build.gradle文件如下所示: compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.abc" minSdkVersion 14 targetSdkVersion 22 versionCode 16 versionName "0.1.1" multiDe
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.abc"
minSdkVersion 14
targetSdkVersion 22
versionCode 16
versionName "0.1.1"
multiDexEnabled true
resConfigs "hdpi", "xhdpi", "xxhdpi", "xxxhdpi"
}
当我尝试生成代码时,它给出了以下错误:
Execution failed for task ':app:processDebugResources'.
> Cannot filter assets for multiple densities using SDK build tools 21 or later.
Consider using apk splits instead.
当我从defaultConfig中删除重新配置时,上述错误将被删除,代码将成功生成并生成apk
此apk是否会像以前一样在所有设备上运行?
还是我做错了什么
如果有其他解决方案,请告诉我。我只想维护单个apk
提前感谢。实际上,从build.gradle文件中删除重新配置行将创建一个APK文件,该文件与以前一样在相同的设备上运行。它可能会更大一点,因为包含了更多的资源。如果要将APK收缩到与以前类似的级别,可以在“defaultConfigs”部分之后添加“splits”部分:
这将包括与您以前使用的密度相同的资源,而不包括其他密度。删除它不会发生任何事情。。没用,谢谢@萨加尔:究竟是什么导致了上述错误。在我的旧系统上,我没有看到这个错误。如果你想在任何平台上维护你的单个apk,请将编译和目标sdk版本更改为23并使用运行时权限,因为在marshmellow中它不起作用
splits {
density {
enable true
reset()
include "hdpi", "xhdpi", "xxhdpi", "xxxhdpi"
}
}