本站长期提供ROM下载,可以定制多国语言刷机包和和刷机方案。点击这里给我发消息

CM9源码同步和编译

ROM相关 半夏月 893℃ 0评论

CM9源码同步和编译,前期的环境配置可以参考Android 4.0 linux下源码编译教程【Android4.0编译】

这里开始讲的是同步完CM9源码开始编译了。来源参考hao1056531028,感谢原作者的付出。
配置USB
这一步是为了后面要从你的手机拷贝系统属性文件,用户编译源码的。ubuntu下不需要装驱动才能连接的上你的手机,但是需要配置,可参考官方:http://source.android.com/source/initializing.html

我这里也简单的写下:
sudo vim /etc/udev/rules.d/51-android.rules
然后,添加如下内容
1   #Samsung
2    SUBSYSTEM==”usb”, SYSFS{idVendor}==04e8, MODE=0666

这是三星手机的配置,其他手机通过lsusb命令查看相应的id,以上述格式添加到/etc/udev/rules.d/51-android.rules文件里即可。配置好了后,拔掉手机再插上,基本上就可以了。如果还不可以,先kill-server,再用root用户连接。如果还不行,进入android-sdk/tools/,给你的adb这个命令文件”chmod +s adb”,kill-server,再adb,多试几次。

下载设备专用工程

CM9现在和CM7在下载设备工程不一样,CM7是下载源码的时候就自动下载好了,CM9则没有,但是可以手动智能识别下载。比如我的手机是galaxys2,则使用如下命令:
1  brunch galaxys2
如果拼写正确的话,它会自动下载galaxys2的相关工程(在目录~/cm9/device/下多了以下目录samsung/galaxys2)。

如果下载完成,进入编译的话,请停止编译,我们还需要进行下一步。

获取手机系统属性文件
1  cd ~/cm9/device/samsung/galaxys2
2  ./extract-files.sh
3  cd ~/cm9
4 vendor/cm/get-prebuilts

这一步只需要执行一次就可以了。

编译CM9源码
CM9的源码比编译Android官方源码相对出错情况会少很多。
首先,初始化变量:
1 cd cm9
2 source build/envsetup.sh

直接使用命令
brunch galaxys2

然后慢慢的等待吧!

如果是虚拟机的话,内存吃紧和cpu不足的话,随时都可能出错。
如果出现错误的,注意分析一下错误的原因,我这里还比较顺利,中断了一次,重新编译一下又可以了。
ps:如果是官方源码编译的话,我相信总有那么几个错误,CM9要好很多。
编译完成后,会生成一个zip文件,放到手机里就可以刷机了。

编译工程
到上面为止,我们已经搭建了一个健康的CM9的环境,但是我们的目地不是编译CM9 ROM,这个CM每天会出nightly版本,所以我们主要是使用这个CM9环境来编译framework,app等工程。
比如第二天我们重新启动,如何编译framework-res.apk,framework.jar,Music.apk?我们需要用到这个环境:
1 cd cm9
2 source build/envsetup.sh
3 //注意product名称,chooseproduct的时候,在之前galaxys2要加上cm_,不然找不到产品
4 chooseproduct cm_galaxys2
5 //下面进入到framework/base/core/res.编译framework-res.apk
6 cd framework/base/core/res
7 mm
8 //也可以编译framework.jar
9 cd ~/cm9/framework/base/core/java
10 mm
11 //还可以编译Music.apk
12 cd ~/cm9/packages/apps/Music
13 mm
如此就可以修改系统ROM,修改系统APP了。

 
 

 

 

 

 

 

转载请注明:半夏月 » CM9源码同步和编译

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽