我的build.gradle文件编写如下:
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中删除resConfigs时,将删除Above错误并成功构建Code并生成apk。
这个apk是否可以在所有设备上运行,因为它之前正在运行? 或者我有任何错误吗?
如果有任何其他解决方案,请建议我。我只想维持单个apk。
提前致谢。
答案 0 :(得分:0)
确实从build.gradle文件中删除resConfigs行将创建一个与以前相同的设备上运行的APK文件。它可能只是更大一点,因为包括更多的资源。如果你想将APK缩小到与以前类似的水平,你可以添加一个"分裂" " defaultConfigs"之后的部分部分:
splits {
density {
enable true
reset()
include "hdpi", "xhdpi", "xxhdpi", "xxxhdpi"
}
}
这将包括您之前使用的密度相同的资源,并忽略其他密度。