You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio3.1下仅Java项目用Gradle Plugin4.4遇KotlinNullPointerException求助

解决纯Java项目升级Gradle Plugin 4.4触发KotlinNullPointerException的问题

我之前维护纯Java项目时也碰到过一模一样的问题——明明没碰过任何Kotlin相关配置,升级Gradle插件后突然跳出这个空指针异常。这其实是Gradle 4.x版本的隐性行为导致的,下面是一步步的解决方法:

1. 移除不必要的Kotlin插件配置

先检查两处build.gradle文件:

  • 项目根目录的build.gradle:看看buildscript里有没有引入Kotlin Gradle插件的classpath,比如:
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:xxx"
    
    如果有且你不需要Kotlin,直接删掉这一行。
  • app模块的build.gradle:确认有没有应用Kotlin的插件,比如:
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    
    有的话直接移除这些插件声明。

2. 强制排除所有隐性Kotlin依赖

哪怕你没手动加Kotlin依赖,第三方库或者Gradle插件本身可能会间接引入。在根目录的build.gradle里添加全局排除:

buildscript {
    configurations.all {
        exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
        exclude group: 'org.jetbrains.kotlin', module: 'kotlin-reflect'
    }
}

allprojects {
    configurations.all {
        exclude group: 'org.jetbrains.kotlin'
    }
}

或者只在app模块的build.gradle里配置:

configurations {
    all*.exclude group: 'org.jetbrains.kotlin'
}

3. 彻底清理Gradle缓存

旧的缓存文件可能残留了Kotlin相关的配置,导致异常:

  • 执行终端命令:./gradlew clean build --refresh-dependencies
  • 或者打开Android Studio,点击File -> Invalidate Caches/Restart,选择Invalidate and Restart。

4. 检查第三方依赖的间接引入

如果上面的方法没解决,用./gradlew app:dependencies命令生成依赖树,查找哪个第三方库引入了Kotlin。找到后在依赖声明里排除:

implementation('com.example.thirdparty:library:1.0.0') {
    exclude group: 'org.jetbrains.kotlin'
}

为什么会出现这个问题?

Gradle Plugin 4.x版本开始,部分内部构建逻辑依赖了Kotlin的标准库或反射库,哪怕是纯Java项目,这些隐性引入的Kotlin组件因为没有初始化对应的Kotlin环境,就会触发KotlinNullPointerException。

内容的提问来源于stack exchange,提问作者Sneh Pandya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:39:24