反编译apk之后,发现并不包含最新的代码
来源:2-11 React Native调试技巧实战应用【持续更新】

慕丝1117639
2022-07-11
老师您好,我用AS启动项目之后,即使我项目源码修改,但是模拟器上的界面依旧是初始界面。所以我想通过反编译apk,查看apk中是否包含了更新的源码。我的做法如下:
首先:在As中: Build —> Build Bundle(s)/APK(s) -—> Build APK(s)
然后,就是定位为到构建好的apk所在的目录中,
文件夹中的app-debug.apk应该就是项目的apk文件吧?
然后:安装apktool,反编译apk
反编译之后,会在当前目录下得到一个文件夹,进入这个文件夹
最后,打开asset/index.android.bundle 这个文件(是assets文件夹下唯一的文件),在这个文件中查找项目源码的内容,项目源码中的App.js为一下内容:
在index.android.bundle这个文件中查找“App,如果加上了自定义....”这一句话,居然没有。
那么我猜想,之所以AS启动项目之后,模拟器中的界面还是初始界面,有可能是因为Android studio构建项目的时候,根本不是拿最新的项目源码来构建的,但是我已经clean project了,依旧不行,那么问题出现在哪里?
另外,也有可能我这种排错方式不对,要么index-debug.apk根本不是构建后得到的apk,要么“App,如果加上…”这一段字符串在反编译后得到的字符串,已经是编码后的,不能直接搜索中文字符串来判断是否包含最新的代码。
老师,请问从您的经验判断,之所以AS启动的项目,咋模拟器上无法显示最新的界面,这个问题是由于什么造成的,如何解决?
写回答
1回答
-
CrazyCodeBoy
2022-07-12
建议先排除是不是个别项目配置的原因导致,可以新创建一个rn项目然后运行安装试试看是不是最新的js界面032022-07-16
相似问题