当前位置:首页 > 智能手机 > 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图片处理成半透明(修改图层透明度),替换掉原始图片,重新启动手机即可。而修改桌面背景的透明度等等也比较类似,大家可以自己摸索。

 

如何打包ROM

    经过上面的操作,基本上一个属于自己的定制ROM就制作完成了,剩下要做的就是将ROM打包签名了,一般我们都是将ROM打包为卡刷格式的ZIP包,而具体打包签名的操作也十分简单。

    一般为ROM签名都是使用testkey进行签名,将testkey签名的文件连同ROM文件boot.img、META-INF、system压缩到一个zip文件中,名字可以自己取,但是最好使用英文,因为一般Recovery模式都不支持中文显示,然后利用专门的签名工具apktool进行签名操作(使用apktool时必须要安装Java环境)。将打包好的zip文件和apktool放置在同一个目录,运行“签名.bat文件,然后点击“1选择为ROM签名即可完成操作.。至此从定制到打包再打签名的操作已经全部完成,想动手制作ROM的朋友快去试试吧。

输入“1”并回车就可以开始签名操作


延伸阅读:

什么是反编译

    高级语言源程序经过编译变成可执行文件,反编译就是逆过程。比如:反编译机器码(汇编语言) → 高级编程语言,但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。


什么是Android SDK

    SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。而Android SDK 指的是Android专属的软件开发工具包。


【玩机技巧】

如何取消S4锁屏状态中的字样。

    三星手机Galaxy S4在锁屏界面新增了个人信息显示,您可以根据自己的喜好进行设置,但是很多用户并不喜欢默认的“心意合一”字样,那该如何取消显示呢?

    首先进入系统设置,然后选择“我的设备→锁定屏幕”,点击“锁屏小组件”,最后在“锁屏小组件”中选择时钟功能,点击储存后返回即可。

    如果你想将默认的“心意合一”改成其他字样,只需要在“锁屏小组件”选择“个人信息”并储存,然后在“锁定屏幕”功能中的“个人信息”中修改文字即可。


如何找回Android 4.2的开发者选项

    很多用户发现自己的手机在升级Android 4.2后,原本在设置中的开发者选项没有了。当然这并不是Android 4.2的漏洞,而是最新的Android系统将开发者选项隐藏了起来。

    想要找回开发者选项,首先进入设置中的“关于手机”,找到最下面的“版本号”, 单击“版本号”7次,就会提示已进入开发者模式,然后在“设置”的倒数第二项就看到了“开发者选项”,是不是很简单?

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


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