Pan*_*kaj 14 android android-manifest android-studio android-gradle-plugin
我有两个环境,我的项目一个Prod另一个是Staging.因此,每当我必须构建任何环境时,我都必须更改多个键,例如地图键,标签名称和清单中的其他内容.所以我搜索并找出一些解决方案,而manifestPlaceholders就是其中之一.
现在我想做的是在manifestPlaceholders中分配多个值.那么我可以在其中放置多个值,是的,然后如何在其中放置多个值.这是manifestPlaceholders的代码
buildTypes {
debug {
manifestPlaceholders = [ google_map_key:"your_dev_key"]
}
release {
manifestPlaceholders = [ google_map_key:"prod_key"]
}
}
Run Code Online (Sandbox Code Playgroud)
Pan*_*kaj 21
我通过添加多个manifestPlaceholders值来解决我的问题,如下面的代码.将此添加到我的模块中build.gradle.
productFlavors {
staging {
applicationId "xxxxxxxxxxx"
manifestPlaceholders = [ google_map_key:"xxxxxxxxxx", app_label_name:"xxxxxxx"]
buildConfigField 'String', 'BASE_URL', '"xxxxxxxxxx"'
}
prod {
applicationId "xxxxxxxxxxx"
manifestPlaceholders = [ google_map_key:"xxxxxxxxxx", app_label_name:"xxxxxxx"]
buildConfigField 'String', 'BASE_URL', '"xxxxxxxxxx"'
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
您也可以Emanuel Moecklin按照评论中的建议使用resValue .
productFlavors {
staging {
applicationId "xxxxxxxxxxx"
manifestPlaceholders = [ google_map_key:"xxxxxxxxxx", app_label_name:"xxxxxxx"]
buildConfigField 'String', 'BASE_URL', '"xxxxxxxxxx"'
resValue "string", "base_url", "xxxxxxxxxx"
}
prod {
applicationId "xxxxxxxxxxx"
manifestPlaceholders = [ google_map_key:"xxxxxxxxxx", app_label_name:"xxxxxxx"]
buildConfigField 'String', 'BASE_URL', '"xxxxxxxxxx"'
resValue "string", "base_url", "xxxxxxxxxx"
}
}
Run Code Online (Sandbox Code Playgroud)
Rob*_*yer 10
您可以轻松设置/更改多个manifestPlaceholders值.您可以在答案中一次定义所有值,也可以逐个定义.
defaultConfig {
// initialize more values
manifestPlaceholders = [ google_map_key:"xxxxxxxxxx", app_label_name:"xxxxxxx"]
// or this way
manifestPlaceholders.google_map_key = "xxxxxxxxxx"
manifestPlaceholders.app_label_name = "xxxxxxxxxx"
}
productFlavors {
staging {
}
prod {
// use some different value for prod
manifestPlaceholders.google_map_key = "yyyyyyyyyy"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8469 次 |
| 最近记录: |