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

Android Studio 3.0.1构建/运行无法检测代码变更,需先清理生效

解决Android Studio 3.0.1代码变更需先清理才生效的问题

我之前也碰到过Android Studio 3.0.1这个糟心的缓存问题——每次改完代码点绿色运行按钮,看似构建完成,但新的变更根本没生效,比如加了日志也打不出来,必须先clean项目才行,大部分时候都这样,偶尔正常完全靠运气。给你几个亲测有效的解决办法:

  • 禁用增量编译:旧版AS的增量编译缓存经常出问题,你可以打开File > Settings > Build, Execution, Deployment > Compiler,取消勾选Enable incremental compilation,然后重启Android Studio试试。
  • 清理并重启Gradle守护进程:Gradle守护进程的缓存可能卡住了,在项目根目录的终端里执行命令:
    • Mac/Linux:./gradlew clean --stop
    • Windows:gradlew clean --stop
      执行完后再重新同步并构建项目。
  • 关闭Instant Run:旧版的Instant Run热部署功能bug很多,很可能导致代码变更不生效。打开File > Settings > Build, Execution, Deployment > Instant Run,取消勾选Enable Instant Run to hot swap code/resource changes on deploy,之后再运行项目就会全量构建了。
  • 手动清理缓存目录:如果上面的方法都没用,就彻底清一次缓存:
    1. 关闭Android Studio
    2. 删除AS的系统缓存目录:
      • Mac/Linux:~/.AndroidStudio3.0/system/caches
      • Windows:C:\Users\<你的用户名>\.AndroidStudio3.0\system\caches
    3. 删除项目根目录下的.gradlebuild文件夹
    4. 重新打开项目,同步Gradle后再构建
  • 升级Gradle插件版本:Android Studio 3.0.1对应的3.0.1版本Gradle插件确实有不少已知的缓存问题,你可以尝试升级到同系列的稳定版,比如3.0.2。修改项目根目录的build.gradle文件,把classpath 'com.android.tools.build:gradle:3.0.1'改成classpath 'com.android.tools.build:gradle:3.0.2',然后同步Gradle。

另外,如果你有自定义的构建任务,也检查一下有没有不小心跳过了代码编译的步骤,或者设置了过度的缓存策略,这也可能导致变更不被纳入构建。

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

火山引擎 最新活动