在反编译汉化新版的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盘
建议大家使用 Q群共享的【APK+Dex文件反编译及回编译工具】
【测试回编译】
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 完成回编译!
————————————————————————————————
那么,可以说只要搞定了使用构架问题,汉化新版的ROM完全没问题~!
汉化交流群:8023666
个人小站:www.idoog.me