apktool 反编译打包编译各种错误类型和解决方法总结



第一种问题: 
使用命令     apktool b -f test  test_unsign.apk
编译通过,但是装上手机后(前提,先签名),android的图片文件 发生黑条,后来调试源代码发现时一个listview的背景图片
图片格式为 .9.png图片。原因是.9图片没有编译  把.9.png写成了 .9.PNG 。
eclipse编译器可以对改文件检查通过,但是 apktool命令无法 回编译。

住:如何签名参见另外一篇文章  http://blog.csdn.net/woaitaoyi/article/details/24976675


第二种情况: 
使用命令     apktool b -f test  test_unsign.apk
提示

error: Public symbol drawable declared here is not defined.



翻遍网络所有的资源没有找到解决方法。
后来找到了原因

----------------------------------------------------华丽丽的分割线--------------------------------------------------------------------------------------
多数情况下我们修改完后使用“apktool b xxx”命令并不能保证可以顺利地回编译。
   常见的错误是.../res/values/public.xml:数字 error: Public symbol.../xxxx declared here is not defined
   这跳debug信息告诉我们/res/values/public.xml文件中第“数字”行出错,里面指定的对象在res目录下不存在。
   这是精简或图片资源引用错误引起的,比如某张图片在其他dpi里定义了,在当前保留的dpi里却用不到,当我们把它删除
   后,并没有删除它在public.xml文件中的定义,程序回编译的时候按照public.xml去找它却已经找不到了,于是就报错了。
   解决的方法就是打开public.xml文件,删除相应的行,这个地方需要比较细心和有耐心。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

此上解决方法是一些美化apk的童鞋们也会遇到的问题~~~ 

由此可见很多的反编译工具 基本都是封装了 apktool,aapt,apktool.jar 吧

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值