最近在在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,經本人測試一切正常