关于APKsmail中加入代码报错All register args must fit in 4 bits

2023-05-21,,

最近在在smail文件中加入调用接口代码,大部分APK没什么问题回编打包的时候,偶尔碰到一个APK报错,All register args must fit in 4 bits

在在多次调试中发现寄存器数超过16了,不能直接使用p0、p1来作为invoke的参数,需要move一下

例如:开始的时候为invoke-static {p0}, Lneat/anad/iniat/Instancea;->instanceProjecta(Landroida/contenta/Contexta;)V

改过之后:

move-object/from16 v3, p0
invoke-static {v3}, Lnaet/aand/iniat/Instanace;->instanaceProject(Landroaid/contaent/Coantext;)V

主要就是在上面加上一句move-object/from16 v3, p0来move一下就OK,经本人测试一切正常

《关于APKsmail中加入代码报错All register args must fit in 4 bits.doc》

下载本文的Word格式文档,以方便收藏与打印。