ext*_*mkv 13 groovy android gradle android-studio
在我工作的公司,我们在内部和外部项目中使用了很多口味.还有2或3个构建类型(dev,prod和qa),有时我们需要更改flavor中特定buildType的特定变量.
这是问题出现的地方,当我有更多的味道时,Groovy总是采用最后一个buildType的配置.
例:
首先,我定义了新的buildTypes:
android {
...
buildTypes {
development {
initWith debug
}
production {
initWith release
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
然后我使用特定的buildType更改来定义flavor:
productFlavors {
mcDonalds {
...
buildTypes {
development {
manifestPlaceholders = [onesignal_app_id : "4b77f560-26f3-420d-b438-d7aeb9912d4d",
onesignal_google_project_number: "REMOTE"]
}
production {
manifestPlaceholders = [onesignal_app_id : "6b77f560-26f3-420d-b438-d7aeb9912d33",
onesignal_google_project_number: "REMOTE"]
}
}
}
burgerKing {
...
buildTypes {
development {
manifestPlaceholders = [onesignal_app_id : "8b77f560-26f3-420d-b438-d7aeb9912d44",
onesignal_google_project_number: "REMOTE"]
}
production {
manifestPlaceholders = [onesignal_app_id : "0b77f560-26f3-420d-b438-d7aeb9912456",
onesignal_google_project_number: "REMOTE"]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论我选择构建的风格如何,gradle将始终采用最后一种风格的值,当我向mcDonalds用户发送推送通知时,所有burgerKing用户都将收到有关大mac的广告.
Google 告诉我这是有意的,如果我使用build.gradle.ktl,它就不会发生.我不明白他们怎么说这是有意的.对我来说这是一个Groovy问题,这是一个错误,更多人在问题跟踪器上报告相同的问题.
您建议使用哪种解决方法?
请不要建议我使用另一个维度,它不会起作用,因为每个flavor/buildType中的配置都会发生变化,我认为构建变体的数量是荒谬的:
我只需要这样的东西:
您可以采取以下解决方法:在构建时定义字符串值,您可以在代码的任何部分引用这些值。这是一个可能对您或其他人有帮助的示例
buildTypes {
production {
minifyEnabled true
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
development {
minifyEnabled false
}
}
productFlavors {
mcDonalds {
resValue "string", "key1", "value1"
resValue "string", "key2", "value2"
}
burgerKing {
resValue "string", "key1", "value1"
resValue "string", "key2", "value2"
}
Run Code Online (Sandbox Code Playgroud)
}
这将创建以下具有不同配置的构建变体
同样在您的代码中,您可以使用以下命令检查您是否正在进行开发生产
if (BuildConfig.DEBUG) {
//select string for development (key1)
} else {
//select string for production (key2)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |