我需要从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
我有src/main/resources/certs/test一个外部库需要的开发相关目录.这有一些生产版本不需要的证书文件.
目前我在下面的块中排除了该目录下的所有内容build.gradle:
sourceSets {
main {
resources {
exclude '**/test/*'
}
}
}
Run Code Online (Sandbox Code Playgroud)
这样做很好,但留下了丑陋的空目录test.我有什么选择在最后的战争中不包括这个目录?
我试过排除'**/test',但它根本不起作用.
我使用war插件和Gradle 1.2
我的项目中有一个生成的字符串资源xml文件,该文件是从扩展名为.template的文件生成的.我试图从构建中排除此模板,因为它给我重复的资源错误.以下对我不起作用,我被困住了:
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['res']
resources.exclude '**/build_id.template'
res.srcDirs = ['res']
res.exclude '**/build_id.template'
assets.srcDirs = ['assets']
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
Error:Error: Duplicate resources: <project-dir>/res/values/build_id.template:string/build_id, <project-dir>/res/values/build_id.xml:string/build_id
Run Code Online (Sandbox Code Playgroud)
如何正确排除特定资源文件?
只要在其中一个项目目录中有desktop.ini文件(例如res/values/desktop.ini),Eclipse和Android Tools插件组合就无法构建.
我希望Eclipse和/或Android Tools插件忽略desktop.ini文件.这可能吗?如果有,怎么样?
提前致谢.
我有以下项目结构
MyProject
|-- build.gradle
|-- client.private
|-- server.public
|-- app
| |-- build.gradle
| |-- lint.xml
| |-- proguard-project.txt
| |-- project.properties
| `-- src
Run Code Online (Sandbox Code Playgroud)
并希望包含client.private和server.public文件到最终apk的assets文件夹,但遗憾的是无法这样做.
在我的中有以下内容 app/build.gradle
...
android {
...
applicationVariants.all { variant ->
variant.mergeAssets.doLast {
copy {
from(['../client.private', '../server.public'])
into("${buildDir}/assets/${variant.dirName}")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它只复制文件app/build/assets/debug,它没有与apk打包.