繁体   English   中英

有条件地在Android清单文件中包含元数据

[英]Conditionally include meta-data in Android manifest file

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

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

有点像黑客,但只有我能够解决这个问题的方法是在build.gradle使用以下内容(在示例中更改了名称)(在具有不同构建风格的上下文中使用此方法但是不依赖在那...)我认为可能有一些额外的智能可以围绕清单合并完成,这将使这一点更清洁。 myFlag来自project.hasProperty()值我作为Fastlane脚本的一部分传入

        sourceSets {
            flavor1 {
                if (myFlag == "true") {
                    manifest.srcFile "src/flavor1_flag/AndroidManifest.xml"
                } else {
                    manifest.srcFile "src/flavor1/AndroidManifest.xml"
                }
            }
        }
<meta-data android:name="string"
           android:resource="resource specification"
           android:value="string" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM