我正在使用android studio作为IDE开发一个Android应用程序.
我的问题是:
如何在构建APK的过程中排除某些目录下的某些文件?
在我的情况下,我想从构建中排除一些图像,因为我的项目中使用的那些文件被指定为从应用程序中的网络下载,而在开发期间我希望在布局中引用它们.
谷歌搜索后,我找到了一些解决方案:
Gradle 1.2:排除资源下的目录sourceSets
如何使用Gradle和Android Studio从资源中排除文件?
并参考 gradle.org
然后我在build.gradle中提出了我的解决方案:
sourceSets {
main {
resources.exclude '**/drawable/*'
res.exclude '**/drawable/*'
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用,res/drawable /下的图像仍然显示(下载前).
Android Studio版本目前为0.8.4.
任何想法将不胜感激.
如果我有 3 种口味 flavor1、flavor2 和 flavor3,每种口味都有 Dev、Pat 和 Prod“子口味”版本,它们的参数不同,但每种主要口味都有不同的资源。
所以我现在有 9 种不同的风格,但只有 3 个不同的资源文件夹)。我希望相同的“子口味”使用相同的资源。
我怎样才能做到这一点?我在关于 flavorDimensions 的文档中看到过,但不确定如何配置资源文件夹。
目前我正在使用类似的东西
sourceSets {
flavor1_dev{
res.srcDir 'src/flavor1/res'
}
flavor1_prod{
res.srcDir 'src/flavor1/res'
}
flavor2_dev{
res.srcDir 'src/flavor2/res'
}
flavor2_prod{
res.srcDir 'src/flavor2/res'
}
}
Run Code Online (Sandbox Code Playgroud) android android-gradle-plugin android-productflavors android-flavordimension
我正在尝试构建一个具有6种构建风格的Android项目.每个只有一个独特的资源文件.Ant构建将文件从res/configs /复制到res/raw /以用于每种风格.我不想打破这个版本,我无法弄清楚如何让Gradle Android版本与这个文件夹结构一起使用.所以我添加了一个复制阶段来获取一个公共资源文件夹,然后添加一个用于每个风格的文件只有一个.
task cleanExtra(type: Delete) {
delete 'res-common'
delete 'res-dev'
delete 'res-qa'
delete 'res-sb'
delete 'res-test'
delete 'res-stage'
delete 'res-prod'
}
task setUpSharedResources(type: Copy) {
from 'res'
into 'res-common'
exclude '**/environment.properties'
}
task setUpDevResources(type: Copy ) {
from 'configs/dev/'
into 'res-dev/raw/'
}
task setUpQaResources(type: Copy ) {
from 'configs/qa/'
into 'res-qa/raw/'
}
task setUpSbResources(type: Copy ) {
from 'configs/sb/'
into 'res-sb/raw/'
}
task setUpTestResources(type: Copy ) {
from 'configs/test/'
into 'res-test/raw/'
}
task setUpStageResources(type: Copy ) {
from …Run Code Online (Sandbox Code Playgroud)