apk反编译出现异常,谁能告诉我是怎么回事

 我来答
匿名用户
2016-10-18
展开全部
一: All register args must fit in 4 bits
提示出错的行数的代码是:

[java] view plain copy 在CODE上查看代码片派生到我的代码片
<pre name="code" class="java"> invoke-virtual {v0,p0, v1}, Lcom/Jt/ST/uti/JManager;->startService(Landroid/content/Context;I)V

http://stackoverflow.com/questions/18446954/smaliall-register-args-must-fit-in-4-bits-error这里找到了解决方案。

原因是超出了寄存器的允许范围。只允许使用v0-v15. 知道了出错的原因,那么修改起来就好办了,只需要把超出的寄存器move下就可以了,在该代码前面添加

[java] view plain copy 在CODE上查看代码片派生到我的代码片
move-object/from16 v2, p0

然后该句修改为:
invoke-virtual {v0,v2, v1}, Lcom/Jt/ST/uti/JManager;->startService(Landroid/content/Context;I)V

就ok了

二:Failure [INSTALL_FAILED_INVALID_INSTALL_LOCATION]
在使用adb install 向手机安装软件时提示的错误,原因是签名错了,签名使用的是系统签名,改为其他的就可以了。
系统签名命令:
[java] view plain copy 在CODE上查看代码片派生到我的代码片
java -jar signapk.jar platform.x509.pem platform.pk8 d.apk dd.apk

普通签名的命令:
[java] view plain copy 在CODE上查看代码片派生到我的代码片
java -jar signapk.jar testkey.x509.pem testkey.pk8 d.apk dd.apk
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式