我有明确的服务占位符:
<service
android:name=".MyService"
android:process="${processName}">
在我的build.gradle中,我替换了它。
android {
defaultConfig {
manifestPlaceholders = [
processName: ':Proc'
]
}
}
但对于我的espresso测试(androidTest),我需要processName
中的空值。我怎么能这样做?
我尝试使用buildTypes执行此操作,但它不起作用(BuildType名称不能以&#34开头; androidTest&#34;)
答案 0 :(得分:1)
此示例适用于Gradle插件3.4.1:
android {
unitTestVariants.all {
it.mergedFlavor.manifestPlaceholders += [
placeHolderName: "placeHolderValue"
]
it.mergedFlavor.addResValue(new ClassFieldImpl("string", "resValueName", "resValueValue"))
}
}
答案 1 :(得分:0)
我认为这里最好的方法是根据documentation
的建议为您的仪器测试编写第二个AndroidManifest
<强> ../应用程序/ SRC / androidTest / AndroidManifest.xml中强>
<service
android:name=".MyService"
android:process="">
答案 2 :(得分:0)
仅添加清单将无济于事,因为您仅需使用以下方法即可提供合并策略:
<service
android:name=".MyService"
android:process=""
tools:node="replace">
比合并清单中的值要正确。