系统APK的编译和反编译主要使用工具为apktool和压缩软件,WINRAR/7Z/好压均可。
在这我们主要讲系统APK的反编译和编译。
其实系统APK的反编译和编译和apk的区别不大,主要区别在于,系统APK涉及共享签名的问题,还有就是在反编译和编译前需要将两个依赖项进行IF命令操作,也可以理解为安装。
一、依赖项的IF命令:
1、提取你系统的systemframework下面的com.htc.resources.apk和framework-res.apk(原则上每个不同的系统都提取一次;注意修改过的这两个文件反编译或编译可能会失败);
2、将上面两项放入C盘根目录下,这个随便你放,只要在命令输入时路径相同就可以;
3、打开CMD或命令提示符,即DOS窗口;
4、在DOS窗口输入:
apktool if C:com.htc.resources.apk 输入完成后回车键回车
apktool if C:framework-res.apk 输入完成后回车键回车
5、这样IF命令和安装已经结束,这是系统APK编译必须的
二、反编译系统APK
所谓反编译系统APK就是将系统APK分解,让不可以识别的XML文件变为可以识别。
将需要反编译的系统APK放入C盘,我个人喜欢放C盘,个人自己去体会。
以framework-res.apk这个反编译为例:
命令: apktool d C:framework-res.apk C:framework-res回车
完成后会在C盘出现一个framework-res名称的文件夹。请注意,反编译完成总共只有5-6行,多出就是错误了。但是不是完全的错误,这个需要实际去查看错误原因了。
三、编译系统APK
编译系统APK就是将修改后的系统文件合成。
以上面反编译系统APK继续:
命令: apktool b C:framework-res回车
完成后会在framework-res文件夹内build文件夹或dist文件夹内生成一个新的APK文件,这就是修改后的合成的新的APK文件。
四、如何使用修改后的系统APK
将合成的新的系统APK解压,获取你修改后的APK中的文件。然后用压缩软件打开未修改的原来的系统APK文件,将你修改后的文件替换进去,如果你修改的是values文件夹或者以values开头的文件夹内容,那么你就把解压后的新的文件resources.arsc替换进原来的系统APK中即可。如果你修改的其他文件夹的内容就替换其中的内容。用这种方式可以避免共享签名的问题,如果你纯粹使用使用新的APK文件放入系统,会造成死在第一屏或第二屏无限重启。
关于DEX后缀名的编译,暂时不推荐大家去修改,这个DEX反编译后生成的是smail文件夹。
实例:
一、打开默认第三方程序安装(未知源勾选):这个不需要上面说的依赖项支持
这里我只讲操作步骤,大家不要去懂得原理,可以参考此修改去修改其他的设置,但不是很推荐。
1、提取SettingsProvider.apk,按上面的方式反编译:apktool d C:SettingsProvider.apk C:SettingsProvider回车
3、找到: <bool name=”
def_install_non_market_apps”>false</bool>,将false修改为true,保存;
4、合成: apktool b C:SettingsProvider回车
5、提取新的合成的新的文件resources.arsc文件替换到原来的SettingsProvider.apk中即可。
二、电量数字百分比编译:必须依赖项支持
电量百分比编译包括两部分:电量显示数字百分比和充电跑马灯显示
电量数字百分比显示:
1、提取framework-res.apk文件;
2、反编译framework-res.apk :apktool d C:framework-res.apk C:framework-res回车
4、将数字电量图片,大概100张或多102张图片替换至framework-resresdrawable-hdpi文件夹中;
5、合成修改的文件为新的APK文件:apktool b C:framework-res回车
6、解压新的APK文件,提取framework-resresdrawablestat_sys_battery.xml文件替换到原来未编译的framework-res.apk相同位置中,再把数字电量的图片同时替换到framework-resresdrawable-hdpi文件夹中,即可。
电量跑马灯显示方式一样,只不过修改的是framework-resresdrawable
stat_sys_battery_charge.xml文件,方法和上面相同。
电量百分比显示都一样,但是跑马灯效果有几种,我提供一种方式下载,提供的文件为反编译后可识别文件。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!