Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager

运行项目报错:Could not initialize class com.android.build.gradle.internal.TaskManager

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第1张图片

 我这边的原因是少了SDK的包和JDK版本不对。

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第2张图片

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第3张图片

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第4张图片

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第5张图片

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第6张图片

我们先区分下gradle version与gradle plugin version。如果对此不了解,经常会由于Gradle的版本号问题造成项目无法编译;7.0以前这两个插件的版本号是不同步,7.0以后进行了版本的同步。

Gradle

Gradle 不是Google开发的。Gradle是有专门的团队进行开发维护。并且完全开源的自动化构建工具。IDEA 默认集成了该工具。可以方便的帮我们将项目代码进行构建打包,是一个脚本工具。理论上来说,它可以用来构建任何项目(如java项目,ios项目),是一个构建工具。它可以与任何类型的IDE集成(如ecllipse,android studio),方便的帮我们将项目代码进行构建打包,是一个脚本工具。

配置gradle version的地方在项目目录下的gradle-wrapper.properties或者在File->Project Structure->project menu里的gradle version

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第7张图片

Android Gradle 插件

Android Studio 是采用Gradle 进行代码的打包编译以及构建项目的。但是Gradle是一个开源的自动构建工具,是面向全平台的。所以Android 在基于Gradle进行了二次开发,整合了几项专门用于构建Android应用的功能。而该工具命名为:com.android.tools.build:gradle:xxxx 。

配置android gradle version的地方在根build.gradle里或者在File->Project Structure->project menu里的android gradle plugin version

Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager_第8张图片

 Android Gradle 是需要依赖于gradle的,所以两个之间的对应关系比较重要

版本对应

Android Gradle 插件版本 所需的 Gradle 版本
1.0.0 - 1.1.3 2.2.1 - 2.3
1.2.0 - 1.3.1 2.2.1 - 2.9
1.5.0 2.2.1 - 2.13
2.0.0 - 2.1.2 2.10 - 2.13
2.1.3 - 2.2.3 2.14.1 - 3.5
2.3.0+ 3.3+
3.0.0+ 4.1+
3.1.0+ 4.4+
3.2.0 - 3.2.1 4.6+
3.3.0 - 3.3.3 4.10.1+
3.4.0 - 3.4.3 5.1.1+
3.5.0 - 3.5.4 5.4.1+
3.6.0 - 3.6.4 5.6.4+
4.0.0+ 6.1.1+
4.1.0+ 6.5+
4.2.0+ 6.7.1+
7.0 7.0+

Android Gradle 7.0+更新

但是从7.0 开始,Android 将会有很大的改变。

工具 最低版本 默认版本
Gradle 7.0.2 7.0.2
SDK Build Tools 30.0.2 30.0.2
NDK 不适用 21.4.7075529
JDK 11 11

Gradle版本和Java版本对应关系

Java版本 第一个支持它的Gradle版本
8 2.0
9 4.3
10 4.7
11 5.0
12 5.4
13 6.0
14 6.3
15 6.7
16 7.0
17 7.3
18 7.5



作者:独自闯天涯的码农
链接:https://www.jianshu.com/p/4042fd18f9fa
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(android,android,studio,gradle)