android - 有条件地在 Android list 文件中包含元数据

标签 android gradle

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

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

最佳答案

有点 hack 但我能够解决这个问题的唯一方法是在 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"
                }
            }
        }

关于android - 有条件地在 Android list 文件中包含元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44130918/

相关文章:

java - 安卓应用包名

android - 如何防止应用程序被卸载?

android - groovy.lang.MissingPropertyException : Could not get unknown property 'manifestOutputFile'

Android:检查 Activity 是否被系统从服务中销毁

java - 为什么在 java 中 android 第二次调用 web 服务时会创建新的 session

java - 在 android 中使用 Run 方法的最佳方式是什么?

gradle - 如何在内部使用sh脚本顺序执行gradle任务

Eclipse Gradle 插件无法在全新 Luna 安装时检索 Gradle 发行版

gradle - 如何更改/覆盖 rootDir/projectDir?

jenkins - 在Centos上安装gradle