我正在将一些组件添加到库模块清单文件中。显然,即使我没有在库的 build.gradle 文件中声明它,也可以使用
${applicationId}
占位符。它唯一被声明的地方是在主模块的 build.gradle 中。
因此,如果我向主模块添加自定义占位符,它也可以工作。
简而言之:这似乎有效:
库的AndroidManifest.xml:
<activity android:name="${applicationId}.LibraryActivity" ...>
主模块的build.gradle:
defaultConfig {applicationId "package.name.here"...
但这并不:
库的AndroidManifest.xml:
<activity android:label="${customPlaceholder} ...>
主模块的build.gradle:
defaultConfig {manifestPlaceholders = [customPlaceholder:"Foo"] ...}
是否有一个原因可以起作用而另一个却不起作用?
是的!我们能做到!
只需将代码添加到库的
build.gradle
:
manifestPlaceholders = [
customPlaceholder: '${customPlaceholder}'
]
或者在
build.gradle.kts
:
manifestPlaceholders["customPlaceholder"] = "\${customPlaceholder}"