我正在工作的项目是为基于 Amazon 的设备以及 Android 构建的。几乎 95% 的代码库在这两者之间是通用的。因此,我没有将这两个项目作为不同的项目,而是考虑使用产品风味将这两个项目放在一起。(请告诉我是否还有其他更好的解决方案)
但我在这里面临的问题之一是 build.gradle 中的 buildscript 和 android 属性,其中我需要 Amazon 和 Android 的不同值。
例如,我需要这个用于 Android
dependencies {
classpath 'com.android.tools.build:gradle:1.1.3'
}
这是亚马逊的
dependencies {
classpath 'com.amazon.device.tools.build:gradle:1.0.0'
}
对于compileSdkVersion 和buildToolsVersion 也是如此。
如果我需要每个都有两个不同的 build.gradle,我应该如何根据构建风格选择其中一个? (我不确定这是否真的可能)
如果没有,是否真的有更好的解决方案可以通过将所有内容放在同一个项目中来解决此问题。
提前致谢。
应该是评论,但是太长了。
如果它不能提供帮助,我会删除它。
据我所知,你不能有不同的build.gradle
用于产品口味。
但是,您应该能够调节buildscript
和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"
}
//...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)