Android 分级语法和构建工具兼容性问题

Android grade syntax and build tools compatibility issues

过去几年我没有在 Android 全职工作,现在每当我尝试在 GitHub 上 fork 某人代码时,我都会遇到很多错误,因为 android 工具和 Gradle 语法经常变化。

我想知道处理这些变化的最佳方式是什么,并且能够升级其他 GitHub 项目和我的一些旧项目以使用最新的 Android 工具。以下是我遇到的一些问题:

How can I know what Gradle version the build.grade syntax was written with?

如果项目包含 gradle/wrapper/gradle-wrapper.properties 文件,则该文件是项目开发人员使用的 Gradle 版本。

is there a migration guide for Gradle versions?

我不知道有多少 Gradle 语法会发生变化,会影响 Android 普通项目的开发人员。大多数更改来自通过 Gradle for Android 插件添加的 DSL。您可以通过项目顶级 build.gradle 文件中的 classpath 语句找到项目开发人员使用的插件版本。

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

上面的代码片段正在为 Android 插件请求 Gradle 版本 1.3.0。

Gradle for Android 插件的迁移文档很少。可以在 http://tools.android.com.

上找到内容

how can I know which version are compatible with which?

Here is Google's statement on the issue,虽然几个月没更新了

and whats the easy way to manage that?

如果工具有问题,请将它们更改为您认为好的集合(例如,通过从已知工作项目复制值)。如果您需要在较新版本的工具中引入的内容,请将它们更改为您认为不错的集合。否则,不用担心他们。