关于APKTool工具反编译ROM系统设置文件问题
在反编译汉化新版的ROM时 发现系统文件无法反编译,如Settings.apk
主要是因为 ApkTooll 无法读取系统APK的构架;
那么,我们需要手动为ApkTool 添加一个新构架文件:
具体方式是:
打开ROM,手机内存上找也行,找到\system\framework\framework-res.apk
提取,随便放到一个位置 注意:由于每个系统ROM不一样 G3 或其他机型都是不同的,
主要是制造商为ROM添加了其他构架 HTC大部分 名为resources.apk 或HtcContacts.apk
MOTO 除了resources.apk还有moto-res.apk、blur-res.apk
总之把framework文件夹下的APK文件都用一遍。 自定义执行:java -jar apktool.jar if framework-res.apk
根据官方说法如下:HTC机子的安装如:( Linux操作 Win系统类似)第一个文件
$ apktool if com.htc.resources.apk
I: Framework installed to: /home/brutall/apktool/framework/2.apk测试反编译
$ apktool d HtcContacts.apk
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk 读取第一个构架
I: Loading resource table from file: /home/brutall/apktool/framework/2.apk 读取第二个构架
I: Copying assets and libs...
__________________________________________________________________
还有一种情况
如果你反编译的机型比较多,可以使用多个构架,如:$ apktool if com.htc.resources.apk hero 尾部加名称【hero】
I: Framework installed to: /home/brutall/apktool/framework/2-hero.apk
$ apktool if com.htc.resources.apk desire 尾部加名称【desire】
I: Framework installed to: /home/brutall/apktool/framework/2-desire.apk在反编译的时候灵活读取 不同的构架文件,如:$ apktool d -f -t hero HtcContacts.apk 命令后添加【-f -t -hero】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-hero.apk 调动读取【hero】构架
I: Copying assets and libs...
$ apktool d -f -t desire HtcContacts.apk 命令后添加【-f -t -desire】
I: Loading resource table...
I: Decoding resources...
I: Loading resource table from file: /home/brutall/apktool/framework/1.apk
I: Loading resource table from file: /home/brutall/apktool/framework/2-desire.apk 调动读取【desire】构架
I: Copying assets and libs...------------------------------------------------------------------------------------------------
Windows下实例:【第一步安装构架】
C:\>java -jar c:\apkdb\apktool.jar if d:\framework-res.apk
I: Framework installed to: D:\My Documents\系统文件\apktool\framework\1.apk【测试反编译Settings.apk】
C:\>java -jar c:\apkdb\apktool.jar d d:\Settings.apk
I: Baksmaling...
I: Loading resource table...
W: Skipping "android" package group
I: Decoding resources...
I: Loading resource table from file: D:\My Documents\系统文件\apktool\framework\
1.apk
I: Copying assets and libs...
OK 成功搞定!注意:由于从C盘更目录操作的 反编译后 会保持在C盘
【测试回编译】C:\>java -jar c:\apkdb\apktool.jar b C:\Settings
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
OK 完成回编译!
------------------------------------------------------------------------------------------------
要加框架