本文主要是介绍Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运行项目报错:Could not initialize class com.android.build.gradle.internal.TaskManager
我这边的原因是少了SDK的包和JDK版本不对。
我们先区分下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
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
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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于Gradle的版本差异导致无法编译:Could not initialize class com.android.build.gradle.internal.TaskManager的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!