最近在在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,经本人测试一切正常