有没有办法根据Gradle中设置的值在Android list 文件中有条件地包括meta-data元素。我能够执行以下操作(使用resValue<some_value>中设置build.gradle),但无法找到包含/排除完整meta-data元素的方法。

    <meta-data
        android:name="<some_setting>"
        android:value="@string/<some_value>" />

最佳答案

某种破解但我能够解决的唯一方法是在build.gradle中添加以下内容(在示例中已更改名称)(在具有不同构建风格的上下文中也使用此内容,但并不依赖于此) )...我认为围绕 list 合并可以做一些其他的聪明事,这也将使它变得更简洁。 myFlag来自我作为project.hasProperty()脚本一部分传递的Fastlane

        sourceSets {
            flavor1 {
                if (myFlag == "true") {
                    manifest.srcFile "src/flavor1_flag/AndroidManifest.xml"
                } else {
                    manifest.srcFile "src/flavor1/AndroidManifest.xml"
                }
            }
        }

08-18 06:42