android-是否可以针对不同的产品口味使用不同的build.gradles?
作者:互联网
我正在工作的项目是针对基于Amazon的设备以及Android都构建的.两者之间几乎有95%的代码库是相同的.因此,我没有将这两个项目作为不同的项目,而是考虑使用产品口味将这两个项目放在一起(请让我知道是否还有其他更好的解决方案)
但是我在这里面临的问题之一是build.gradle中的buildscript和android属性,在这里我需要为Amazon和Android使用不同的值.
例如对于Android我需要这个
依赖项{
类路径’com.android.tools.build:gradle:1.1.3′
}
这对于亚马逊
依赖项{
classpath’com.amazon.device.tools.build:gradle:1.0.0′
}
同样对于compileSdkVersion和buildToolsVersion也是如此.
如果我需要为每个两种不同build.gradles,我应该如何让获得基于构建味挑其中的一个? (我不确定这是否真的可能)
如果不是,是否真的有更好的解决方案,可以通过将所有内容都放在同一项目中来解决此问题.
提前致谢.
解决方法:
应该是一个评论,但是太长了.
如果无法提供帮助,我将删除它.
据我所知,您无法针对产品口味使用不同的build.gradle.
但是,您应该能够调节构建脚本和compileSdkVersion.
它不是很干净,但是您可以使用类似:
buildscript {
repositories {
jcenter()
mavenCentral()
}
if (condition) {
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0+'
}
} else if (condition) {
dependencies {
classpath 'com.amazon.device.tools.build:gradle:1.1.3'
}
}
}
android {
if (condition) {
compileSdkVersion 23
} else if (condition) {
compileSdkVersion "Amazon.com:Amazon Fire Phone SDK Addon:XX"
}
//...
}
标签:build-gradle,gradle,android,android-gradle-plugin 来源: https://codeday.me/bug/20191119/2039310.html