You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

升级Android Studio 3.0至3.1正式版后项目报错求助

解决Android Studio 3.1升级后APT插件初始化失败的问题

嘿,这个问题我之前帮好几个开发者排查过,本质就是旧的第三方APT插件和Android Studio 3.1配套的Gradle版本不兼容导致的。下面给你一步步的解决思路:

  • 移除过时的net.ltgt.apt插件依赖

    1. 打开项目根目录下的build.gradle文件,找到类似下面的代码行,直接删除:
      classpath 'net.ltgt.gradle:gradle-apt-plugin:x.x.x' // x.x.x是你之前用的版本号
      
    2. 再打开module级别的build.gradle文件,删掉开头的插件引用:
      apply plugin: 'net.ltgt.apt'
      
  • 替换apt为官方的annotationProcessor
    在同一个module的build.gradle里,把所有用apt声明的注解处理器依赖,全部替换成annotationProcessor。比如原来的:

    apt 'com.google.dagger:dagger-compiler:2.15'
    

    改成:

    annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
    
  • 同步并清理项目

    1. 点击Android Studio右上角的「Sync Project with Gradle Files」按钮,完成项目同步。
    2. 依次执行Build -> Clean ProjectBuild -> Rebuild Project,彻底清除旧的构建缓存,避免残留问题。
  • 可选但推荐:检查Gradle版本匹配
    Android Studio 3.1对应的Gradle插件版本建议在3.1.03.1.4之间,确保根目录build.gradle里的配置是:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2' // 或同版本区间的其他版本
    }
    

    对应的Gradle wrapper版本(在gradle/wrapper/gradle-wrapper.properties中)推荐使用gradle-4.4-all.zip,即:

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
    

为什么会出现这个问题?

从Android Gradle插件3.0版本开始,官方已经内置了对注解处理器的支持,不再需要依赖第三方的net.ltgt.gradle.apt插件。旧插件的API和Android Studio 3.1配套的Gradle版本不兼容,就会触发NoClassDefFoundError这类初始化失败的错误。

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

火山引擎 最新活动