Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。
虽然 Android 插件通常会与 Android Studio 的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可独立于 Android Studio 运行并单独更新。
我们在下载其他人的项目后进行运行,经常会遇到插件版本不一致的情况, 但是又不知道该用那个版本,所以写本文记录一下。
* Where:
Build file ‘xxx\app\build.gradle’ line: 1
* What went wrong:
A problem occurred evaluating project ‘:app’.
> Failed to apply plugin [id ‘com.android.application’]
> Gradle version xxx is required. Current version is xxxx. If using the gradle wrapper, try editing the distributionUrl in \gradle\wrapper\gradle-wrapper.properties to gradle-xxx.zip
* Try:
Run with –stacktrace option to get the stack trace. Run with –info or –debug option to get more log output.
针对这样的问题,我们将 android studio、插件版本、Gradle 版本 三者的关系对应起来就可以解决问题了。
Gradle各版本对应关系
gradle的版本定义在项目的gradle/wrapper/gradle-wrapper.properties文件中
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.2-bin.zip
插件版本
目前有几种写法,一些老版本是通过classpath的方式引用:
classpath com.android.tools.build:gradle:7.4.2
或者新的引用方式
plugins {
id ‘com.android.application’ version ‘7.4.1’ apply false
id ‘com.android.library’ version ‘7.4.1’ apply false
id ‘org.jetbrains.kotlin.android’ version ‘1.5.31’ apply false
}
如果指定的插件版本尚未下载,则 Gradle 会在您下次构建项目时进行下载;或者,您也可以在 Android Studio 菜单栏中依次点击 File > Sync Project with Gradle Files 进行下载。
以下列出了目前最新的版本间对应关系
Android Gradle 插件和 Android Studio 兼容性
Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 Android Gradle 插件版本。