如何为manifestPlaceholder设置默认值

11

我正在为一个库项目在build.gradle文件中使用manifestPlaceholder标签。

使用该库的人应该正确定义它。

库中的AndroidManifest.xml:

    <meta-data
        android:name="library_id"
        android:value="${libraryId}"/>

应用程序端的 Build.gradle 文件:

        manifestPlaceholders = [libraryId: "example"]

在库的一侧是否有覆盖manifestPlaceholder标签的选项?

我只想定义一个默认值,用户应该可以自由提供一个新值来更改它。


1
你尝试在库的 build.gradle 中的 defaultConfig 中放置 manifestPlaceholders 了吗?这对我有效。 - DeKaNszn
1
你确定吗?我在库的build.gradle中放了一个manifestHolder,放在应用程序端的那个不会覆盖它。 - Coldfish
你解决了吗? - Jey
1个回答

0
你尝试过使用清单合并策略来达到期望的效果吗?
在应用程序清单中,你可以添加类似以下内容:
<your-outer-element
    tools:node="replace">
        <meta-data 
            android:name="library_id"
            android:value="YOUR_APP_ID"/>
</your-outer-element>

这将替换库清单中 your-outer-element 内找到的 library_id 元数据。

请注意,这不适用于android:name元素,因此无法覆盖服务类。 - nuKs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接