折雨的天空

博客介绍:本博客当前共有文章【968】篇,总阅读量【5,158,769】次,第一篇博客发表于【2011年04月06日 10时34分】,距今已【4978】天,感谢您的使用!

您的位置:折雨的天空 >其他技术> android系统的ROM自己做的一个教程

android系统的ROM自己做的一个教程

是别人的。
并且需要安装Linux系统。注意,不是简单的修改,而是自己编译。

详细地址是:http://www.embest.net/index.php/archives/384

为了防止他的网页过期,故复制于下面,请尽量参看原版。

本来想下载Android官方源代码,没想到android.git.kernel.org被黑,不能访问,非常遗憾,并因此还郁闷了几天。
后来一想,竟然忘记了CyanogenMod这茬,这可是的的确确的开源啊,我的手机一直也在用CyanogenMod系统的,感觉确实不错。

1.准备
我得环境如下,
Ubuntu10.04.3(64位)
下载CyanogenMod的gingerbread分支
Ubuntu的环境配置大家可以参考http://source.android.com/。如果是新系统可以用脚本 install.tar

这里着重说下Android 2.3以上需要借助JAVA6,安装Java6,推荐如下安装:

sudo add-apt-repository “deb http://archive.canonical.com/ubuntu lucid partner”
sudo add-apt-repository “deb-src http://archive.canonical.com/ubuntu lucid partner”
sudo apt-get update

sudo apt-get install -y sun-java6-jdk

2.安装repo
因为android.git官方已经不能访问,所以我这里提供一个repo文件的下载地址,免的大家到处搜索:http://www.embest.net/repo

把repo拷贝到ubuntu根目录下得bin下
操作方法:

$ mkdir ~/bin $ PATH=~/bin:$PATH 
$ curl http://www.embest.net/repo > ~/bin/repo $ chmod a+x ~/bin/repo

3.ubuntu中环境的配置
JDK前面已经说了,其他的软件列表如下:

1 $sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool 

这些软件都安装好之后我们开始下载CyanogenMod源码。

4.下载CyanogenMod源码

1 //从用户根目录下开始
2 //创建CyanogenMod文件夹来放置后面所有的代码
3 $mkdir CyanogenMod
4 //获取gingerbread的分支源代码
5 $repo init -u git://github.com/CyanogenMod/android.git -b gingerbread 
6 //同步服务器代码到本地,-j16是多线程,从而能提高下载速度
7 $repo sync -j16

这个过程非常的漫长,大家慢慢的等吧,本人是晚上睡觉的时候下载,第二天早上醒来就Done了。

5.编译源码
在CyanogenMod/device目录下有很多款手机的对应版本:

我手机是中兴V880,进入zte可以看到blade

所以本人决定编译一个我手头上的liberty对应的系统版本,编译完成后我们直接刷机。
第一步:读取手机上的一些私有配置文件

1 $cd CyanogenMod/device/zte/blade
2 $./extract-files.sh

图示如下:

这是读取手机里面.so库文件,所以一定要连接手机,并且adb能通,如果不通,请参考《用手机为Android开发Debug》,或者用我提供的脚本usb.tar

lsusb查看手机PID,

sudo sh usb.sh PID

sudo adb kill-server #如果ADB找不到,请下载SDK

sudo adb start-server #加sudo

例如:sudo sh usb.sh 19d2  #19D2是中兴的PID

第二步:生成编译脚本文件

1 $cd ~/CyanogenMod/vendor/cyanogen 
2 $./get-rommanager
3 $./extract-google-files
4 //复制编译脚本文件到CyanogenMod目录下,后面编译整个系统用的就是这个文件
5 $cp ~/CyanogenMod/vendor/cyanogen/products/cyanogen_blade.mk  ~/CyanogenMod/buildspec.mk

贴上进行时图片:

第三步:编译脚本
回到CyanogenMod目录下,执行脚本。

1 //初始化脚本,这个是后面的重要基础步骤
2 $source build/envsetup.sh
3 //选择编译的产品
4 //这个命令需要一小会儿时间,但是又没提示,耐性等待一下
5 $lunch cyanogen_blade-eng
6 //开始编译
7 $make -j4 CYANOGEN_WITH_GOOGLE=true otapackage

这个过程也是相当的漫长,还好一般情况下我们只是第一次需要项目整个编译,后面只需要编译某个模块。

第四步:生产刷机zip包。

1 ./vendor/cyanogen/tools/squisher

有图为赏:


用这个zip包,我刷到我手机上,一切正常。

6.定制ROM
有了以上的环境后,我们就可以大展手脚,深度定制ROM, 做自己的操作系统,自己的CyanogenMod,自己的MIUI,自己的Android系统。


截图一张。防止图片打不开。

点击查看原图

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《android系统的ROM自己做的一个教程

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换

网友评论(1)

疯了
南宁婚纱摄影 12年前 (2012-08-28) 回复