更改 androidTest 清单中的 manifestPlaceholders
Change manifestPlaceholders in androidTest manifest
我有服务的清单占位符:
<service
android:name=".MyService"
android:process="${processName}">
在我的build.gradle中我替换了它。
android {
defaultConfig {
manifestPlaceholders = [
processName: ':Proc'
]
}
}
但是对于我的浓缩咖啡测试 (androidTest),我需要 processName
中的空值。我该怎么做?
我已尝试使用 buildTypes 执行此操作,但它不起作用(BuildType 名称不能以 "androidTest" 开头)
我认为最好的方法是按照 documentation
的建议,只为您的仪器测试编写第二个 AndroidManifest
../app/src/androidTest/AndroidManifest.xml
<service
android:name=".MyService"
android:process="">
简单地添加清单没有帮助,因为您需要为其提供合并策略,只需使用:
<service
android:name=".MyService"
android:process=""
tools:node="replace">
在合并清单中你应该得到正确的值。
此示例适用于 Gradle 插件 3.4.1:
android {
unitTestVariants.all {
it.mergedFlavor.manifestPlaceholders += [
placeHolderName: "placeHolderValue"
]
it.mergedFlavor.addResValue(new ClassFieldImpl("string", "resValueName", "resValueValue"))
}
}
我有服务的清单占位符:
<service
android:name=".MyService"
android:process="${processName}">
在我的build.gradle中我替换了它。
android {
defaultConfig {
manifestPlaceholders = [
processName: ':Proc'
]
}
}
但是对于我的浓缩咖啡测试 (androidTest),我需要 processName
中的空值。我该怎么做?
我已尝试使用 buildTypes 执行此操作,但它不起作用(BuildType 名称不能以 "androidTest" 开头)
我认为最好的方法是按照 documentation
的建议,只为您的仪器测试编写第二个AndroidManifest
../app/src/androidTest/AndroidManifest.xml
<service
android:name=".MyService"
android:process="">
简单地添加清单没有帮助,因为您需要为其提供合并策略,只需使用:
<service
android:name=".MyService"
android:process=""
tools:node="replace">
在合并清单中你应该得到正确的值。
此示例适用于 Gradle 插件 3.4.1:
android {
unitTestVariants.all {
it.mergedFlavor.manifestPlaceholders += [
placeHolderName: "placeHolderValue"
]
it.mergedFlavor.addResValue(new ClassFieldImpl("string", "resValueName", "resValueValue"))
}
}