viv*_*vek 12 android gradle build.gradle android-gradle-plugin
我需要从flavor中删除特定的res文件夹.
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
aidl.srcDirs = ['src']
assets.srcDirs = ['assets']
}
}
productFlavors {
flavor1 {
sourceSets {
flavor1 {
resources {
exclude 'res/drawable-mdpi/*'
}
}
}
}
flavorDimensions "flavor"
}
Run Code Online (Sandbox Code Playgroud)
但仍然drawable-mdpi文件夹来到apk.
所以任何人都可以说明我犯了什么错误.
谢谢Vivek
我终于解决了这个问题!
我找到了这个链接.
这样做了:
将一个xml文件添加到res/raw文件夹.我把它命名为resources_discard.xml,这是它:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:discard="@raw/hd/*" />
Run Code Online (Sandbox Code Playgroud)我的味道名为lite("src/lite/res/raw"),这个文件放在正确的目录结构中
这样,res/hd文件夹的内容不包含在lite版本中,有效地将我的lite build apk大小减少了50%
更新:要从不同的风格中排除一些图像,您必须将图像放在"assets"文件夹中,并以gradle声明:
flavor {
aaptOptions {
ignoreAssetsPattern '/folder:*.jpg:*.png' //use : as delimiter
}
}
Run Code Online (Sandbox Code Playgroud)
我还了解到你不能在/ res/raw文件夹中有子文件夹.
| 归档时间: |
|
| 查看次数: |
3158 次 |
| 最近记录: |