特定风味+类型组合的清单

时间:2018-04-10 15:50:35

标签: android gradle manifest android-productflavors

在我的应用中,我有两个风格维度:deviceenvironment

这样的口味:

standard {
  dimension = "device"
  ...
}
custom {
 dimension = "device"
 ...
}
dev {
  dimension = "environment"
  ...
}
prod {
 dimension = "environment"
 ...
}

现在我希望在customRelease组合的清单中有一些特定的东西(无论"环境"风味维度)。

我创建了一个文件src/customRelease/AndroidManifest.xml,但Android Studio确实看到了这个文件。 如果我把清单放到src/customDevRelease/AndroidManifest.xml那么这对我有用,但我也需要把清单放在src/customProdRelease/AndroidManifest.xml这个不好的地方。

1 个答案:

答案 0 :(得分:0)

我通过为某些构建变体设置清单路径来解决这个问题:

def manifestSkygolfReleaseFile = 'src/customRelease/AndroidManifest.xml'        

sourceSets {
    customDevRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }

    customProdRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }
}

这不是一个理想的解决方案,因为将来如果我添加其他类型的环境(测试),我将不要忘记添加一段代码来进行gradle:

    customTestRelease {
        manifest.srcFile manifestSkygolfReleaseFile
    }

更糟糕的是,我的实际应用程序有4种风味尺寸。