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

Android Studio 3.1编译失败:出现ClassNotFoundException异常

解决Android Studio 3.1升级后transformClassesWithProfilers-transformForDebug编译异常的方案

嘿,这个问题我升级AS3.1的时候也踩过坑!明明类存在却报ClassNotFoundException,大概率是升级后构建缓存、Profiler配置冲突或者工具链兼容问题导致的,给你几个亲测有效的解决步骤:

  • 先清掉旧构建缓存,从头构建
    AS升级后遗留的旧缓存经常搞事情,先把这些清干净:

    1. 点击顶部工具栏的Build → Clean Project,等完成后再点Build → Rebuild Project
    2. 如果还是不行,手动删掉项目根目录的.gradle文件夹,以及MyModule下的build文件夹,然后点击File → Sync Project with Gradle Files重新同步
  • 检查Profiler相关的构建配置
    AS3.1对Profiler的集成做了调整,旧的自定义配置可能冲突:

    1. 打开MyModule的build.gradle,看看有没有和profilers相关的自定义transform、插件引用
    2. 如果有旧的Profiler相关配置,先暂时注释掉,再编译试试
    3. 确认gradle-wrapper.properties里的Gradle版本和AS3.1匹配——AS3.1对应Gradle 4.4及以上版本,建议用官方推荐的配套版本,避免版本不兼容
  • 再仔细核对类的包名和路径
    虽然你说类存在,但还是要确认细节:

    1. 检查package.mymodule.MyClass的包名和代码里的实际包名完全一致吗?注意大小写!Gradle构建对大小写是敏感的,哪怕系统不敏感
    2. 确认这个类在MyModule的正确源码目录下,比如src/main/java(通用代码)或者src/debug/java(仅debug变体)
    3. 排查有没有其他依赖库或模块里有同名类,导致类加载冲突
  • 试试关闭Instant Run
    AS3.1的Instant Run和Profiler的兼容性不太好,关闭它说不定能解决:
    打开File → Settings → Build, Execution, Deployment → Instant Run,取消勾选Enable Instant Run to hot swap code/resource changes on deploy,重启AS后再编译

要是以上步骤都没用,可以试试新建一个空项目,把MyModule的代码一点点迁过去,排查是不是项目根目录的全局Gradle配置出了问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:38:53