首页文章解决AndroidStudio修改代码运行没变化没生效的问题-Xposed插件重载手机问题「解决AndroidStudio修改代码运行没变化没生效的问题-Xposed插件重载」

解决AndroidStudio修改代码运行没变化没生效的问题-Xposed插件重载手机问题「解决AndroidStudio修改代码运行没变化没生效的问题-Xposed插件重载」

时间2025-03-07 08:45:10发布yu分类文章浏览20
导读:是因为AndroidStudio对Android11之后部署优化的问题,在Run处的位置EditConfigruations, 勾选 即可。 下面的旧内容...

是因为AndroidStudio对Android11之后部署优化的问题,在Run处的位置EditConfigruations, 勾选 即可。
在这里插入图片描述
下面的旧内容是自己瞎整的。。。。。

更新了AndroidStudio4.2.1之后出现了一个问题:改了代码之后点击运行,发现运行起来的app是我没改之前的代码。

例如我开始写了一个打印,运行app之后是正常打印,然后我又加了一句打印,运行app,发现新加的打印并没有打印。

此文章记录一下解决问题的思路以及结果。

2.1 搜索

遇到问题找度娘,搜了一圈相关的,发现没有相关的问题或者文章,有相关的都是就版本的问题。
百度搜索结果

2.2 InstantRun

考虑是不是的问题,但是已经在AndroidStudio3.5废弃了,改成了,但是我点的运行是, 所以这个应该没关系。

但是我又发现了一个,但是关掉也是没效果的
在这里插入图片描述

2.3 Apk是否包含新代码

然后我看看反编译Runapp出来的apk,看看里面有没有包含我改动的代码,默认apk在目录:,发现改的代码已经在安装包里面了!!! 第一个包我加了一个,改动代码是添加了。 这里就可以判断跟打包没关系了,因为新改动的代码已经是被打包的了
反编译之后的代码
没有显示添加的打印

2.4 手动安装

正常点击AS的运行,是as帮忙做好的了 打包apk-安装-运行 这几个步骤,上一步发现了打包是没问题的,那我手动安装试试呢?
于是我手动利用了adb命令进行安装(安装debug包需要加-t参数):
命令行安装
然后手动点击运行,发现居然正常了,新加的打印出来了!!!!
第二局测试打印出来了

2.5 AS的Run

根据上面的一系列猜测,就是在as里面运行的时候,打包了,但是没有安装到手机上,然后继续运行了旧的app。

然后我把目光放到Run的过程,对比正常和不正常的情况打印的Run日志是否有异常。

下面的图是异常的,没有第二条Log打印:
这个图是异常

下面的这图是正常的,打印了两条的:
在这里插入图片描述

对比发现,没啥区别。。。。。。

2.6 换个手机

由上面的总结,得知目前是安装的问题,我一直用的小米,于是我用另一台手机(魅族16Plus)来测试,最终测试结果: 这个魅族手机正常。。。。

到了目前,貌似是我手机的问题。

最终发现,是我写的是Xposed插件问题,然后我装的是面具magisk
+LSPosed,由于Xposed的hook的影响才出现了这个问题。。。。。

解决办法,我测试出来了两种:

  • 版本号(VersionCode) +1
  • 版本名(VersionName)有变化(推荐)

方式1:版本号+1

就是让app的版本号增加,就会让Xposed重新加载插件。那怎么做呢? 总不能运行前每次都去build.gradle手动+1然后AsyncGradle吧? 办法来了,利用脚本实现自动加+1。

添加版本号记录文件

在app这个module下创建文件 ,用来记录当前的版本号,内容为:

 
添加getVersionCode

在app这个module的里面添加方法,从上面的文件获取版本号,并且+1保存,然后返回。

 
设置版本号

最后在里面定义一个变量来保存上个方法+1得到的版本号,然后设置到里面的。 这样子每次点击运行的时候,打包apk的版本号都会进行+1。 这样子就可以实时实现插件重载。
在这里插入图片描述

方式2: 版本名修改

上面修改版本号的方式会导致版本号一直往上+,导致退版本的时候需要卸载app。 所以我们可以修改版本名的方式,版本名不影响更新。

还是按照上面的方式,保存生成一个数字,但是这个数字加在名字上,在 这里定义VersionName的后缀即可。
在这里插入图片描述

方式3:版本名修改的另一种方法

随机生成一个数字作为版本名的后缀

 

海盐版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
代码运行
《快播》技巧大放送 不得不知的八个观影技巧快播手机「《快播》技巧大放送 不得不知的八个观影技巧」 手机怎么补卡手机卡坏了怎么补卡「手机怎么补卡」