我在AndroidManifest.xml
文件數明顯佔位符定義清單的地方持有人的build.gradle
在build.gradle
我要動態地填充這取決於我的味道這些價值觀並建立類型。
我該怎麼做?
我寫,做以下
def getKey() {
def KeyToReturn = ""
android.applicationVariants.all { variant ->
printout("getKey: ${variant.name}")
def flavor = "default";
if (variant.productFlavors.size() > 0)
flavor = variant.productFlavors.get(0);
def buildType = variant.buildType.name
if (buildType == "debug" || buildType == "staging") {
if (flavor.name == "one") {
KeyToReturn = test_key_1
}
if (flavor.name == "two") {
KeyToReturn = test_key_2
}
}
if (buildType == "release") {
if (flavor.name == "one") {
KeyToReturn = live_key_1
}
if (flavor.name == "two") {
KeyToReturn = live_key_2
}
}
}
printout("KeyToReturn:" + KeyToReturn)
return KeyToReturn
}
我有這個在我的android.defaultConfig功能
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode getVersionCode1()
versionName getVersionName1() + ""
manifestPlaceholders = [key: getKey()]
}
這是我的AndroidManifest.xml中相關部分包含
<meta-data
android:name="key"
android:value="${key}"/>
問題是,當我在構建的AndroidManifest.xml文件 $ {key}值是一個空字符串。
如何正確填充此值?在AndroidManifest.xml
文件特定構建味
這有什麼好明顯的佔位符。 – CommonsWare
@CommonsWare也許我誤解了這個問題,但是我正在積極地在'AndroidManifest.xml'中使用這種方法來佔位符,例如下面爲intent過濾器設置特定產品風格的方案'' –
我有一個不同的值,它取決於它是否是調試以及風味類型。我如何考慮這兩點? –