Android Studio 编译报错 AGPBI: “kind”:“error”,“text”:“java.lang.NullPointerException”

clone了一个项目,拉下来编译,报了一堆空指针!!!!!

AGPBI: {"kind":"error","text":"java.lang.NullPointerException","sources":[{"file":"D:\\Project\\Auto\\develop1.0\\widgets\\build\\intermediates\\runtime_library_classes_dir\\CustomGestureDetector$1.class"}],"tool":"D8"}

Execution failed for task ':app:dexBuilderDebug'.
> There were multiple failures while executing work items
   > A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
      > Failed to process: D:\Project\Auto\develop1.0\app\build\tmp\kotlin-classes\, D:\Project\Auto\develop1.0\app\build\intermediates\javac\classes
   > A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
      > Failed to process: D:\Project\Auto\develop1.0\app\build\tmp\kotlin-classes\, D:\Project\Auto\develop1.0\app\build\intermediates\javac\classes
   > A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
      > Failed to process: D:\Project\Auto\develop1.0\app\build\tmp\kotlin-classes\, D:\Project\Auto\develop1.0\app\build\intermediates\javac\classes
   > A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
      > Failed to process: D:\Project\Auto\develop1.0\app\build\tmp\kotlin-classes\, D:\Project\Auto\develop1.0\app\build\intermediates\javac\classes

原因

项目中Gradle使用的jdk版本太新了,用的是Java 21,Gradle 7.4可能不支持Java 21。

在Gradle 7.4源码中都没有Java 21,从Java 18开始就标记成@Incubating,因此猜测Gradle7.4 不支持Java 21

@Incubating 是 Gradle 中的一种注解,用于标识某些 API、方法、类或功能在当前版本中处于孵化阶段(Incubating)。孵化阶段的功能意味着它们尚未完全稳定,可能会在未来的 Gradle 版本中发生重大变化甚至被移除。

public enum JavaVersion {
    VERSION_1_1,
    VERSION_1_2,
    VERSION_1_3,
    VERSION_1_4,
    VERSION_1_5,
    VERSION_1_6,
    VERSION_1_7,
    VERSION_1_8,
    VERSION_1_9,
    VERSION_1_10,
    VERSION_11,
    VERSION_12,
    VERSION_13,
    VERSION_14,
    VERSION_15,
    VERSION_16,
    VERSION_17,
    @Incubating
    VERSION_18,
    @Incubating
    VERSION_19,
    @Incubating
    VERSION_20,
    VERSION_HIGHER;
    }

解決方法

修改Gradle的JDK版本为17
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐