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

Android Studio3.1+Gradle4.4构建API>26项目时出现Kotlin空指针异常

解决Android Studio 3.1构建API>26版本时的Kotlin空指针问题

我之前也碰到过完全一样的情况——明明没碰过Kotlin,构建高API版本时却突然弹出这个Kotlin空指针报错,给你几个亲测有效的解决办法:

  • 禁用Instant Run
    这大概率是最快速解决的方案。AS 3.1的Instant Run模块在处理API 26+的资源构建逻辑时,会调用一些Kotlin相关的代码,哪怕你项目里没引入Kotlin,也可能触发空指针。操作步骤:

    1. 打开Settings(Windows/Linux点File > Settings,Mac点Android Studio > Preferences)
    2. 找到Build, Execution, Deployment > Instant Run
    3. 取消勾选「Enable Instant Run to hot swap code/resource changes on deploy」
    4. 点击Apply后同步Gradle,再重新构建项目
  • 调整Gradle插件版本
    AS 3.1对应的Gradle插件是3.1.x系列,如果你用的是早期的3.1.0或3.1.1,可能存在兼容性bug。试着把项目根目录的build.gradle里的插件版本改成稳定的3.1.4:

    buildscript {
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.4'
        }
    }
    

    同步后如果提示Gradle版本不匹配,记得把gradle/wrapper/gradle-wrapper.properties里的distributionUrl改成对应版本(比如https\://services.gradle.org/distributions/gradle-4.4-all.zip)

  • 清理项目缓存
    有时候旧缓存会导致各种奇怪的构建问题,试试彻底清理:

    1. 执行Build > Clean Project,再点Build > Rebuild Project
    2. 手动删除项目根目录下的.gradle文件夹和app/build文件夹
    3. 重新同步Gradle并构建
  • 检查隐式Kotlin依赖
    虽然你没手动引入Kotlin,但有些第三方库可能会偷偷依赖Kotlin标准库。可以在Terminal里执行命令查看依赖树:

    # Mac/Linux
    ./gradlew app:dependencies
    # Windows
    gradlew app:dependencies
    

    如果发现有kotlin-stdlib相关的依赖,就在app/build.gradle里手动添加一个明确的版本依赖,避免版本冲突:

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.72"
    

先从禁用Instant Run开始试,这个方法解决了我当时的问题,希望对你也有用!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:55:30