Android多渠道批量打包测试无误版

最近想着多个应用商城发不同的包,还想着怎么弄简单呢,从网上找了很多例子都有各种各样的问题,有的是对于大部分apk都可以顺利反编译,重新打包,但是饿的apk超级别扭,硬是报一个异常,如下:

I: Loading resource table...
W: Skipping "android" package group
I: Loaded.
I: Loading resource table from file: D:\Arnis\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
        at java.lang.String.charAt(Unknown Source)
        at brut.androlib.res.xml.ResXmlEncoders.findNonPositionalSubstitutions(ResXmlEncoders.java:165)
        at brut.androlib.res.xml.ResXmlEncoders.enumerateNonPositionalSubstitutions(ResXmlEncoders.java:142)
        at brut.androlib.res.data.value.ResStringValue.encodeAsResXmlValue(ResStringValue.java:45)
        at brut.androlib.res.data.value.ResArrayValue.serializeToResValuesXml(ResArrayValue.java:55)
        at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:264)
        at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:137)
        at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:93)
        at brut.androlib.ApkDecoder.decode(ApkDecoder.java:98)
        at brut.apktool.Main.cmdDecode(Main.java:120)
        at brut.apktool.Main.main(Main.java:57)
但是apktool源码这这一块并没有捕获异常或是打印错误,害的我去反编译apktool的源码,最后发现github有现成的源码不过是gradle创建工程,文档写的很详细(果然外国码农比国内的要敬业些),然后下了工程改写代码,发现是string里的有一些额外的字符在brut.androlib.res.decoder.StringBlock的outputStyleTag方法中报错,修改工程源码后,反编译正常。(如果有希望了解Apktool重新编译可以参考 http://blog.csdn.net/tz2101/article/details/19193197


然后就是用工具重新打包成不同版本。

用的是一个大拿写好的版本,发现ApkTool的版本有点老,我会将自己用的新的工具打包好上传到CSDN资源上,步骤很简单,放到一个文件夹下然后运行apkTools命令,输入名字即可。

1、

2、


3、

4、


5、



然后打包完成。over~~

工具下载地址:http://download.csdn.net/detail/tz2101/6921753


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值