最近拿到一台电信版Galaxy S3,看着满屏的天翼预装APP和阉割掉了Google GMS服务包感觉极其纠结,Google了一番幸好可以刷台湾亚太电信版S3系统并且自带了Google GMS服务包,以前一直用的是原生系统,既然刷机了干脆自制个精简版的系统试试?
三星Android手机不同型号和版本官方最新发布的ROM都可以在这里找到。
自制ROM的步骤(电脑操作系统为Ubuntu)概括为:
在这里根据手机型号找到合适的官方原生系统,如电信版Galaxy S3 SCH-I939,注意Region栏目,APT为台湾电信亚太版本,CTC就是中国电信版本。
提取系统文件需要用到ex4_utils,其作用是提取和打包三星.img格式文件。
解压系统文件,可以得到:cache.img, hidden.img, modem.bin, recovery.img, system.img, boot.img
tar xvf xxx.tar.md5
转换三星.img格式为Linux可读取的.img格式
./simg2img system.img newsystem.img
挂载转换过的img格式
// 新建一个临时挂载文件夹
mkdir temp
// 将newsystem.img挂载到临时文件夹
mount -o loop newsystem.img temp
进入temp/app/目录,可以看到很多.apk文件,这里就是系统预装的APP啦,删除那些预装的天翼APP吧。嘿嘿……
可以去google搜索三星系统精简列表得到一份可安全删除的apk文件列表。
想要添加自己的apk到rom中去预装也很简单,将apk拷贝到temp/app目录下即可(如果apk中lib目录有.so文件,需要解压缩出来放到temp/lib目录下)。
如果在ubuntu图形界面下删除apk,会碰到权限问题提示没有权限删除文件,要用root登录才能删除,有个小技巧就是直接在终端下运行:
$sudo nautilus
打开的新窗口就是root权限了。
将整理好的temp文件夹打包回三星的.img镜像文件
./mkuserimg.sh -s temp system.img ext4 tempdir 1536M
打包成自己的系统rom
tar cvf 自己ROM的名称.tar cache.img hidden.img modem.bin recovery.img system.img boot.img
三星可以使用odin进行刷机,XDA论坛上各版本下载地址点这里。
试用了一天,感觉良好。系统快了,后台服务少了,电池使用时间长了。;)
其实写这么多,只为测试下新的Markdown编辑器。:-)