Android Studio:是否可以在主模块中定义库模块清单占位符?

问题描述 投票:0回答:1

我正在将一些组件添加到库模块清单文件中。显然,即使我没有在库的 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"] ...}


是否有一个原因可以起作用而另一个却不起作用?

android android-studio merge android-manifest placeholder
1个回答
14
投票

是的!我们能做到!

只需将代码添加到库的

build.gradle
:

    manifestPlaceholders = [
            customPlaceholder: '${customPlaceholder}'
    ]

或者在

build.gradle.kts
:

manifestPlaceholders["customPlaceholder"] = "\${customPlaceholder}"
© www.soinside.com 2019 - 2024. All rights reserved.