![](/img/trans.png)
[英]Is there a way to maintain different .gradle files for different build variant configurations in Android?
[英]different resources and manifest in build variant in gradle in android
我想对两个不同的构建变体使用相同的源代码,但使用不同的资源和清单。 这是我的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId 'com.test.project'
minSdkVersion 17
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
FV {
applicationId "com.test.project"
versionName "1.0"
}
AV {
applicationId "com.test.project"
versionName "1.0"
}
}
sourceSets.AV {
manifest.srcFile 'resources/av_res/AndroidManifest.xml'
res.srcDirs = ['res', 'resources/av_res/res']
}
sourceSets.FV {
manifest.srcFile 'resources/fv_res/AndroidManifest.xml'
res.srcDirs = ['res', 'resources/fv_res/res']
}
}
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
dependencies {
compile files('libs/commons-codec-1.9.jar')
compile files('libs/sdk.jar')
compile files('libs/libGoogleAnalytics.jar')
}
在这个我得到一个错误:
错误:发现任务':app:checkDebugManifest'的配置存在问题。
为属性“清单”指定的文件“ D:\\ nitin \\ projects \\ FV \\ SFV \\ app \\ src \\ main \\ AndroidManifest.xml”不存在。
请帮忙。
使用productFlavor时,可以为其创建特定的文件夹。 在您的情况下,可以在“主”文件夹旁边创建文件夹“ FV”和“ AV”。
它应该看起来像这样:
src/
main/
AndroidManifest.xml
res/
...
FV/
AndroidManifest.xml
res/
...
AV/
AndroidManifest.xml
res/
...
这样,您将能够删除build.gradle中指定某些目录的代码,因为构建系统会自动检测到它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.