首页 > 解决方案 > 如何从 Gradle 在 Android Manifest 文件中注入“tools:node”的值

问题描述

我正在开发应用程序生成器,我需要自定义清单元素。

我想通过“tools:node=remove”删除清单文件中的一些元素,但“tools:node”的值来自 Gradle 文件!

我在 Gradle 文件中定义了这个值:

    def hasWidget = "${Boolean.valueOf(System.env.hasWidget ?: true)}"
    manifestPlaceholders = [ appWidget : "${hasWidget ? "replace" : "remove"}"]

在清单文件中我试试这个:

        <receiver
        android:name="..."
        tools:node="${appWidget}"
        android:label="....">

但它没有用!

它向我显示一个错误:单击以检查

任何想法我怎么能通过这个问题?

我感谢您的帮助

标签: androidandroid-manifest

解决方案


尝试将您的 gradle-script 更新为:

    def hasWidget = "${Boolean.valueOf(System.env.hasWidget ?: true)}"
    manifestPlaceholders = [ appWidget : hasWidget ? "replace" : "remove" ]

推荐阅读