Android Studio 修改代码不生效,终极解决方案!

Android Studio 版本4.1.3(相邻的几个版本可能也有这个问题)

我一般都是使用最新的稳定版Android Studio,最新的稳定版不会有这种问题,但来了新公司之后,使用新版本Android Studio项目会报错(有一个依赖需要更新,旧版本的依赖就会报错,报的很奇怪的错误,使用了多种方法没有解决,最后才发现是因为此依赖与Android Studio版本不兼容造成的,很奇怪吧。。。),最后使用Android Studio 版本4.1.3,发现这个4.1.3版本有一个修改代码不生效的bug。

问题描述

注释掉请求提交数据给服务端代码,然后运行代码到Android 手机,运行成功之后,App打开,点击完成(提交数据)按钮,发现还是提交了数据,二次运行生效(没有提交数据),三次运行生效(没有提交数据)。恢复注释的代码,然后运行代码到Android 手机,运行成功之后,App打开,点击完成(提交数据)按钮,发现没有提交数据,二次运行生效(提交了数据),三次运行生效(提交了数据)。

如果每次运行之前先Clear Project或者Rebuild Project一下,运行结果是会实时生效的。但是不能每次都Clear Project或者Rebuild Project吧。
你退出 Android Studio 然后重新进入 Android Studio 实际上也是一个Rebuild Project过程。

分析原因
新版的 Android Studio 引入了 instant run 功能,也就是俗称的热补丁技术,
但是热补丁尚有缺陷有时候会出现莫名其妙的失败和错误。

如何解决(方案一和方案二任意选一个就行了)

方案一

1、禁用 Instant Run 功能。
Android Studio升级3.5后,Instant Run 用 HotSwap代替了
打开设置 -> Build,Execution,Deployment -> Debugger -> HotSwap
取消勾选 Enable hot-swap agent for Groovy code 。

Instant Run

2、如果以上方法还是不能解决你的问题,请查看这个方法,取消选中 Allow parallel run

将Run/Debug Configurations下面运行的Module 相应的Allow parallel run 取消选中即可!

Allow parallel run

在这里插入图片描述

注意:这两个步骤如果都设置了之后,可能会造成App存储的数据丢失,如果不想造成App存储的数据丢失就不要设置这两步了,直接先Clear Project或者Rebuild Project一下,然后再运行,这样就不会造成App存储的数据丢失了。Android Studio总是出现让人难以置信的问题,没办法。。。

方案二

还有一种办法,每次运行先把这个红点一下,此种方法简单有效,而且不会造成App存储的数据丢失的问题。

注意:如果不点这个红点,而是直接拔掉连接手机的数据线,这样这个红点就会消失,重新连接手机之后,再运行代码到Android 手机,修改的代码还是不生效(令人难以置信,Android Studio 真是万事皆有可能)。。。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值