systemui合并odex 反编译修改电池精度为1%
发表时间:2015-8-11 评论:0 点击 3,413+
本教程忽略了图片。
使用软件deodex 来合并SystemUI.odex SystemUI.apk ,把放到SystemUI.odex SystemUI.apk app目录。提取系统原版framework 目录,放到app同级目录,(使用sgs2toext4.jar 转换系统原版文件为ext4格式,为了能提取framework 里面的文件,使用ext2explore.exe 打开转换后的文件提取ramework 目录)。执行deodex.bat。结束后在deodexed-app 目录生成合并后的app。
接下来反编译,使用apktool 工具来反编译,拷贝cmd.exe 到apktool同级目录,为了方便运行,提取framework 目录下的framework-res.apk,twframework-res.apk 文件(反编译依赖文件)打开cmd,执行命令 第一步解包到s目录 apktool.bat d s.apk s ,第二步 修改res 下的系统文件,\apktool\s\res\drawable\stat_sys_battery.xml 改为
<item android:drawable=”@drawable/stat_sys_battery_0″ android:maxLevel=”0″ />
<item android:drawable=”@drawable/stat_sys_battery_1″ android:maxLevel=”1″ />
<item android:drawable=”@drawable/stat_sys_battery_2″ android:maxLevel=”2″ />
。。。。。。。中间省略
<item android:drawable=”@drawable/stat_sys_battery_100″ android:maxLevel=”100″ />
,\apktool\s\res\drawable\stat_sys_battery_charge.xml ,改为
<item android:drawable=”@drawable/stat_sys_battery_charge_anim0″ android:maxLevel=”0″ />
<item android:drawable=”@drawable/stat_sys_battery_charge_anim1″ android:maxLevel=”1″ />
<item android:drawable=”@drawable/stat_sys_battery_charge_anim2″ android:maxLevel=”2″ />
。。。。。。。中间省略
<item android:drawable=”@drawable/stat_sys_battery_charge_anim100″ android:maxLevel=”100″ />
替换drawable-hdpi 目录下的电池图标,一般204 个文件需要替换,其它按需。
改完了需要编译回去。
执行 apktool.bat b s
也许会出现warning
aapt: warning: string ‘dualmodesetting_cannot_set_flight_mode’ has no default tr
anslation in F:\apk反编译\APKtool\apktool\f\res; found: da de en_US es_ES es_US
fr it ko nl pl pt_BR pt_PT ro ru tr zh_CN
I: Building apk file…
不用管。
apktool\s\build\apk 目录是编译后的文件,\apktool\s\dist 下是生成后的文件apk。
注意,系统文件不能自己去签名,需要使用原版签名文件,提取原版 SystemUI.apk 中的META-INF 目录到新生成的apk 中,或者提取dist 目录下(或者生成的apk中的)修改后的编译文件到原版SystemUI.apk 中,基本就完成了。
接下来使用re管理器把SystemUI.apk 复制到 system/app目录替换,修改权限为rw-r–r— (644) 4+2+1,rwx读取、写入、执行。