修正ApkIdTool

在上一篇文章关于游戏SDK ,public.xml 合并的那些事,收到了反馈
问题总结如下
1.没有处理styleable
2.没有处理写死在smali文件的Id值
3.代码不能实现拷贝就直接使用

之所以会有上述问题,归根结底是因为上一篇文章,我分享的是只适用于我这边的环境下的打包脚本的部分代码。更多人需要的是开箱即用的方法,因为最近需求不算多,所以我用java写了一版,希望能减少大家因为ID的问题所浪费的时间(并没有在linux下使用过,不过应该是没问题的)。

下载jar

使用方法

java -jar FranAmendApk.jar -w G:/Java/public/app

java -jar FranAmendApk.jar -w G:/Java/public/app -p com.fran.test -s -a

命令解释
       -w  workPath     工作路径,指apktool解压后的路径
       -p  packageName  包名,使用改包名路径下的R文件来修正 samli文件下写死的id值
       -s  saveFiles    是否保存工作过程目录, -s指保存,默认生成在workPath下的workSpace
       -a  changeOtherFiles 修改所有的smali文件的id,默认指修改R$开头的文件,使用该参数强制修改所以smali文件

原理

通过apk的public.xml 来修改smali下的id,可能有部分同学已经发现了,其实用到的就是上一篇文章结尾所说的方式。必须明确的一点是,修正是目前仅包含我所考虑到情况,若修正失败,欢迎联系我,大家一起努力。

源码在这里

题外话

由于本人不太喜欢打命令,所以一直使用的自己封装的工具来完成工作。
工具在这里

在window下使用步骤如下:
1.下载tool.zip
2.解压到自己喜欢的位置
3.将解压的位置添加到环境变量path
4.双击需要的.reg
5.已经可以正常使用了

使用演示-解包

使用演示-创建签名

使用演示-修改id

使用演示-打包

使用演示-提取源码

使用演示-查看源码

版权声明:
作者:Zad
链接:https://www.techfm.club/p/59617.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>