Android Studio 3.1 Instant Run失效,点击Apply Changes重启应用求助
我之前也碰到过一模一样的糟心事——更新到AS 3.1后,Instant Run的hot swap、warm swap完全罢工,哪怕只改个TextView的文字,点Apply Changes都会直接重启应用,折腾了好几个方案才搞定,给你分享几个亲测有效的办法:
检查Instant Run核心配置是否被重置
先打开Settings(Windows/Linux是File > Settings,Mac是Android Studio > Preferences),找到Build, Execution, Deployment > Instant Run,务必确保以下选项都勾选:- Enable Instant Run to hot swap code/resource changes on deploy (default enabled)
- Restart activity on code changes
- Show instant run notifications
同时确认Disable Instant Run是未勾选状态,有时候版本更新会悄悄重置这些配置。
彻底清理项目构建缓存(比普通缓存更彻底)
你试过清缓存,但可能没触碰到构建缓存层,按这个步骤来:- 点击菜单栏
Build > Clean Project - 接着点击
Build > Rebuild Project - 手动删除项目根目录下的
.gradle文件夹和build文件夹(别误删其他文件) - 重启Android Studio,点击工具栏的
Sync Project with Gradle Files按钮重新同步项目
- 点击菜单栏
核对Gradle与插件版本的兼容性
AS 3.1对应的Gradle插件版本建议用com.android.tools.build:gradle:3.1.x系列(比如3.1.4是稳定版),Gradle wrapper版本要搭配4.4及以上。你可以检查这两个文件:- 项目根目录
build.gradle里的插件依赖:dependencies { classpath 'com.android.tools.build:gradle:3.1.4' } gradle/wrapper/gradle-wrapper.properties里的Gradle版本:distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
版本不匹配是Instant Run失效的常见诱因。
- 项目根目录
关闭Android Studio省电模式
有时候AS的省电模式会偷偷禁用后台优化功能,包括Instant Run。点击右下角的电池图标,确保省电模式处于关闭状态。检查设备/模拟器的开发者选项
对于Android 5.0+的真机,确保开发者选项里的USB调试开启,部分设备还有专门的“允许即时运行”类选项也要打开;如果是模拟器,建议更新到对应API的最新系统镜像,旧镜像容易存在兼容性bug。
如果以上方法都试过还是不行,最后可以尝试彻底卸载AS,清理残留配置文件(Windows是C:\Users\<你的用户名>\.AndroidStudio3.1,Mac是~/Library/Application Support/AndroidStudio3.1),再重新安装AS 3.1稳定版——这是兜底方案,但亲测有效过。
内容的提问来源于stack exchange,提问作者Varad Mondkar

