在单个版本中支持多个gradle版本。gradle
由于构建工具的原因,我的gradle文件必须与Android gradle 2.1.3和最新的Android gradle版本兼容。由于最新的Android Gradle插件引入了新的在单个版本中支持多个gradle版本。gradle,gradle,android-gradle-plugin,Gradle,Android Gradle Plugin,由于构建工具的原因,我的gradle文件必须与Android gradle 2.1.3和最新的Android gradle版本兼容。由于最新的Android Gradle插件引入了新的实现和api配置,并计划删除编译配置,我正在试图找到一种编写脚本的方法,它应该能够支持这两个版本。 我们的想法是使用 def _api = api 在依赖项中使用\u api而不是api 稍后我们计划添加一些代码,如 if (oldVersion) _api = compile 我已按原样尝试了此代码
实现
和api
配置,并计划删除编译
配置,我正在试图找到一种编写脚本的方法,它应该能够支持这两个版本。
我们的想法是使用
def _api = api
在依赖项中
使用\u api
而不是api
稍后我们计划添加一些代码,如
if (oldVersion)
_api = compile
我已按原样尝试了此代码,但它是无效代码。
你知道应该如何编码吗?
提前感谢符号:
dependencies {
api "org.example:example:1.0"
}
真的是语法糖吗
dependencies {
add("api", "org.example:example:1.0")
}
因此,您可以通过定义
String
变量来解决这个问题,变量的值取决于Gradle版本。工作得很好。下面是代码def oldGradleVarion=(gradle.startParameter.taskNames.size()>0&&(gradle.startParameter.taskNames.get(0).contains(“Release”)代码>def\u api=oldGradeLeverion?“编译”:“api”代码>def\u实现=oldGradeLeverion?“编译”:“执行”代码>def\u compileOnly=oldGradeLeverion?“已提供”:“已编译”代码>def\u testImplementation=oldGradeLeverion?“testCompile”:“testImplementation”
依赖项{
`add(_实现,'com.android.support:support-v4:26.1.0')`}