在Android5.0后,系统应用的目录结构发生了一些变化,以往/system/app/下直接是APK文件,目前是/system/app/应用名目录/应用apk类似这种目录结构。同时在Android5.1上反编译Settings.apk需要使用最新apktool_2.0.3来反编译,否则无法完成反编译。下面讲一下怎么定制 Android5.1的系统apk。以Settings为例,修改前:
修改后:
修改设置主界面 res/xml/dashboard_categories.xml:
删除其余无效的配置,仅保留我们需要的配置项:
xmlns:android="http://schemas.android.com/apk/res/android">
隐藏右上角的搜索按钮修改:
res/menu/options_menu.xml
xmlns:android="http://schemas.android.com/apk/res/android">
去掉android:actionViewClass="android.widget.SearchView" 修改android:showAsAction="never",最终如下:
xmlns:android="http://schemas.android.com/apk/res/android">
修改完毕后的Settings.apk 是不能直接使用的,因为系统在更新或启动时候会扫描应用验证应用权限,这里我们修改了应用的内容,所以重启后设置会不可用。那么,这里需要使用一个小技巧在启动时还原原始的Settings.apk 这样系统顺利扫描通过并进入系统,进入桌面后利用su直接替换旧的Settings.apk 这样就行了。
修改或新增/system/etc/install-recovery-2.sh
添加
#!/system/bin/sh
mount -o remount,rw /system
cp /system/etc/install_Settings.apk /system/priv-app/Settings/Settings.apk
chmod 644 /system/priv-app/Settings/Settings.apk
然后启动后利用自己的桌面程序在替换回去即可。