![](/img/trans.png)
[英]Gradle "manifest requires a placeholder substitution" error but manifestPlaceholders supplies a value
[英]Change manifestPlaceholders in androidTest manifest
我有明确的占位符服务:
<service
android:name=".MyService"
android:process="${processName}">
在我的build.gradle中,我替换了它。
android {
defaultConfig {
manifestPlaceholders = [
processName: ':Proc'
]
}
}
但对于我的espresso测试(androidTest),我需要在processName
空值。 我怎样才能做到这一点?
我试图用buildTypes做这个,但它不起作用(BuildType名称不能以“androidTest”开头)
这个例子适用于Gradle插件3.4.1:
android {
unitTestVariants.all {
it.mergedFlavor.manifestPlaceholders += [
placeHolderName: "placeHolderValue"
]
it.mergedFlavor.addResValue(new ClassFieldImpl("string", "resValueName", "resValueValue"))
}
}
我认为这里最好的方法是根据文档的建议,为你的仪器化测试编写第二个AndroidManifest
../app/src/androidTest/AndroidManifest.xml
<service
android:name=".MyService"
android:process="">
简单地添加清单无济于事,因为您需要提供合并策略才能使用:
<service
android:name=".MyService"
android:process=""
tools:node="replace">
比合并清单中你应该得到正确的价值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.