当前位置:首页 > 智能手机 > Android手机 > 技巧
打造自己的“锤子ROM”系列之五:深度定制ROM
  • 2013-6-26 15:31:52
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:薛昱
  • 作者:
【电脑报在线】相信通过前面几期的介绍,大家一定都摩拳擦掌,想自己动手定制一款ROM。但是定制ROM不单单只是精简或者修改系统的APK程序,还有一些更为高级的操作,比如为ROM添加ROOT权限,修改通知栏透明度,修改框架文件等,别着急,看完本期内容,你就知道了。

    相信通过前面几期的介绍,大家一定都摩拳擦掌,想自己动手定制一款ROM。但是定制ROM不单单只是精简或者修改系统的APK程序,还有一些更为高级的操作,比如为ROM添加ROOT权限,修改通知栏透明度,修改框架文件等,别着急,看完本期内容,你就知道了。


如何为ROM加入ROOT权限

    定制ROM除了精简一些多余的功能,一般都集成了ROOT权限,只要刷入系统就自动获取了ROOT权限,不需要用户再进行额外的操作,那么如何为ROM加入ROOT权限呢?

    要为ROM加入ROOT权限,首先要下载专门的SU文件,而不同的手机ROOT方式又不同,这里建议大家直接在已经ROOT的ROM中移植,而SU文件都保存在system文件夹中的bin文件夹中(路径为“\system\bin”)。找到了SU文件以后,就是需要另外一个工具Superuser.apk(超级权限),这个工具相信大家都很熟悉了吧。

    两个文件都准备好以后,只需要将它们加入到你要定制的ROM当中:将SU文件复制到“\system\bin”路径下,然后将Superuser.apk复制到system文件夹中的APP文件夹中,路径为“\system\app”,至此ROOT工具的移植已经完成,剩下要做的就是修改刷机脚本和重新签名打包了。

    修改刷机脚本的目的是为了激活上面两个文件,这一步非常重要,一定不能漏掉。刷机脚本文件“update-script”保存在ROM根目录的“META-INF\com\google\android”文件夹中,用写字板打开该文件(我们可以看到,“update-script”文件中的代码都利用了很多函数,这里建议大家熟悉一下脚本语言再进行操作),然后利用记事本的查找功能,找到“goldfish.sh”,一般都存放在文本的末端位置,细心的朋友会发现在goldfish.sh后面有一个黑色的小方格,然后在黑色小方格后加入如下的函数命令:“set_perm(0,0,06755,"/system/bin/su");symlink("/system/bin/su","/system/xbin/su");”这里需要注意的是用分号结尾,最后复制一个小方格到分号后面。至此为ROM加入ROOT权限的操作已经完成,最后要做的就是重新打包ROM了(打包过程在最后会介绍)。

修改刷机脚本时一定要细心仔细


如何修改定制framework文件

    Framework文件是Android系统的框架文件,修改其中的内容可以改变系统的全局,没有编程基础的朋友最好的方法就是移植,网上有很多“大神”都专门对Framework进行过修改,我们可以直接复制他们ROM中的框架文件,这样即安全又简单,当然如果你有编程基础也可以自己动手试试,这里我用修改全局字体颜色为例,告诉大家如何修改Framework文件。

    首先利用反编译工具(APKTool等)反编译framework-res.apk文件,完成后打开“framework-res.apk/res/values/styles.xml”然后查找theme关键词,找到<style name="Theme">这一行,然后添加下面的语句“ <item name="textColor">#ffffffff</item>”。保存退出以后就完成了定义全局字体为白色的操作,然后对framework-res.apk重新编译即可。对全局框架的修改都是通过反编译完成的,如果能够读懂代码的朋友可以很轻松的定制,但是如果修改错误很容易造成系统崩溃,尝试时要做好备份。对于一般的用户,我还是建议大家复制已经修改好的Framework文件。


如何在build.prop中增加值

    定制ROM都会修改build.prop中的值,build.prop就是手机系统的属性文件,它记录了系统的所有信息和系统的设置,比如版本信息,版本编号等内容。而build.prop文件存放在system文件夹中,我们可以直接利用记事本来编辑修改。

    在这里,为大家简单介绍几个build.prop文件中的参数信息,具体的内容大家可以访问http://go.icpcw.com/c/24app.htm下载详细的说明文件。

# begin build properties (开始设置系统性能)
# autogenerated by buildinfo.sh (通过设置形成系统信息)
ro.build.id=GRI40 (版本ID)
ro.build.display.id=GRJ22 (版本号)
ro.build.version.incremental=eng.buildbot.20110619.060228 (版本增量)
ro.build.version.sdk=10 (sdk版本)
ro.build.version.codename=REL (版本代号)
ro.build.version.release=4.1.2 (Android的系统版本信息可以随意修改)
ro.build.date=Sun Jun 19 06:02:58 UTC 2011 (制作者制作的时间, 可以修改为某某某制作)


如何美化系统UI

    提高对系统UI的优化,一般做的最多的就是修改system UI文件然后改变状态栏,比如利用反编译system UI文件修改状体栏的透明度等,这里我也用如何修改状态栏为全透明为例,告诉大家如何美化自己的ROM。

Andruid系统的状态栏是封装在systemUI.apk中的,我们需要用编译工具将其反编译后找到smali\com\android\systemui\statusbar\StatusBarService.smali文件,然后找到文件中的以下数值:

    new-instance v0, Landroid/view/WindowManager$LayoutParams;

    const/4 v1, -0x1

    const/16 v3, 0x7d0

    const/16 v4, 0x48

    const/4 v5, 0x2

然后将其修改为:

    const/4 v5, -0x3

    使用编译软件将修改后的文件重新回编,替换classes.dex文件。最后用Photoshop等工具将statusbar_background.9.png图片处理成半透明(修改图层透明度),替换掉原始图片,重新启动手机即可。而修改桌面背景的透明度等等也比较类似,大家可以自己摸索。

本文出自2013-06-24出版的《电脑报》2013年第24期 D.智能手机
(网站编辑:pcw2013)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交