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

Android Studio: Is it possible to define library module manifest placeholders in main module?

我正在向库模块清单文件中添加一些组件。显然可以使用 ${applicationId} 占位符,即使我没有在库的 build.gradle 文件中声明它。它唯一声明的地方是在主模块的 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}'
    ]