`
aswang
  • 浏览: 837852 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

CyanogenMod rom编译尝试(简记)

 
阅读更多

编译参考:http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Bravo

 

编译环境:

Vmware workstation 7  + ubuntu 10.04 32位

 

 

1、安装android sdk

 

2、32和64位均需要安装的软件包:

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

 

3、64位需要安装的软件包:

g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

 

4、在当前用户home目录下创建目录

mkdir -p ~/bin

mkdir -p ~/android/system

 

5、安装repo,并初始化

curl http://android.git.kernel.org/repo > ~/bin/repo

chmod a+x ~/bin/repo

 

cd ~/android/system/

repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

repo sync -j16

 

6、复制手机对应的文件

cd ~/android/system/device/htc/bravo/

./extract-files.sh

 

7、下载RomManager

~/android/system/vendor/cyanogen/get-rommanager

 

8、检查更新

cd ~/android/system/

repo sync

 

9、开始编译

. build/envsetup.sh && brunch bravo

命令简单解释:. build/envsetup.sh 是将该文件中定义的一些函数添加到当前的shell环境中,这些函数是在编译过程中会使用到的函数,比如获取相对路径、绝对路径等。

而上述命令行后面的 brunch 就是其中的一个函数,是用来编译一个分支设备的rom,在这里为bravo(HTC Desire)。

上述命令行中间的 && 符号意思为当前面的命令执行成功之后,才会执行后面的brunch bravo命令。

 

因此,我们也可以先执行 . build/envsetup.sh 将函数添加到shell变量中,然后再执行brunch bravo来编译Desire ROM。

 

 

最终文件:   ~/android/system/out/target/product/bravo/update.cm-XXXXX-signed.zip

 

记录了下编译时间:如果之前编译过ROM,那么再同步源代码之后,再次编译的时间会短很多,编译不会超过10分钟。

当然如果是第一次编译,那么时间会很长,根据自己的机器配置,一般都需要半个小时以上。


我的机器配置:I3 M380 2.53GHZ
内存:4G

第一次编译:37分钟
第二次编译:6 分钟


补充:

1、修改默认语言为中文

 

修改build\target\product\full_base.mk内容:

PRODUCT_LOCALES := zh_CN

 

2、修改需要编译的语言

修改build\target\product\languages_full.mk内容:

PRODUCT_LOCALES := en_US \

 zh_CN 

即只编译英文和简体中文。

 

 

3、repo撤销本地修改

repo forall -c git reset --hard HEAD

有的时候修改本地代码了,再次同步的时候会报错,需要清理代码的时候,可以执行这个命令。

4、编译相关配置文件:
verdor\cyanogen\products\cyanogen_bravo.mk
该文件定义了编译的内核以及编译最终生成的文件名

补充
5、可以删除多余项目,减少同步时间和数据,具体操作为找到android/system/.repo目录下的project.list和manifest.xml文件,可以删除device/htc 等类似这样的条目(device下面主要是针对不同手机而需要的文件,如果我们只需要编译某一个手机rom,那么就可以把其它的都删掉,为了避免出错,可以一个一个地删除),在删除之后,重新到android/system目录下执行repo sync进行同步,如果不报错,那这样就修改成功,以后同步时,就不会同步那些已经删除的项目。

6、关于初始化git库报错:android.git.kernel.org[0: 149.20.4.77]: errno=Connection refused到解决办法:
找到repo文件,修改REPO_URL='https://github.com/android/tools_repo.git'即可。


2
1
分享到:
评论

相关推荐

    CyanogenMod编译环境的搭建和可刷机文件的编译及打包

    CyanogenMod编译环境的搭建和可刷机文件的编译及打包

    CyanogenMod launcher2 源码,eclipse可以编译

    CyanogenMod android平台 android 4.0 launcher 2 源码 eclipse可以编译. 经过大量修改: 它支持android 4.0 系统, 它支持android 4.1 系统. 均通过真机测试. 联系我获得技术支持.

    乐phone 3GC101_CyanogenMod_体验版分卷压缩包第一包

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 去除手机激活提示, 加入APN编辑与切换功能 4、多媒体源码采用谷....

    高通rom移植教程

    这个可以从CyanogenMod7的ROM中提取。 也可以到XDA上面下载新的AOSP核心。 bin/目录下的2个文件,awb_camera和lsc_camera这2个是相机相关文件。 etc/firmware这整个文件夹都可以替换掉(注意,是etc下面的firmware)

    mkbootimg:用于从 CyanogenMod 存储库编译 mkbootimg、unpackbootimg 和 mkbootfs

    from the CyanogenMod repo. These tools can be used for unpacking and repacking the android boot and recovery images. Note: mk compiler has been tested on ubuntu linux should work on most debian ...

    android_device_huawei_hws7300u:为华为 Mediapad (s7-301u) 构建 CyanogenMod rom 的设备树

    构建: 将设备树克隆到 /path_to_your_cm_folder/device/huawei/hws7300u。 使用工作 adb 连接将 pad 连接到 pc 并运行 extract-files.sh 以获取供应商的资料(存储到 /path_to_your_cm_folder/vendor/huawei/hws...

    CyanogenMod10 ntfs 与 exfat 自动挂载支持 源代码

    本代码使 Android 系统能够自动挂载 NTFS 与 exFAT...使用的是 CyanogenMod 10.1 的源代码,并在 Samsung GT-I9100 上测试通过。 具体编译说明请参考 http://http://blog.csdn.net/hackpascal/article/details/8850688

    ROM Toolbox Pro 6.5.1.0.apk

    包括AOKP,CyanogenMod和其他流行的ROM。 ☆创建,管理和恢复nandroid备份 ☆擦除数据,缓存,dalvik缓存,电池统计 ☆从SD卡安装多个ROM和ZIP ★应用程序管理器★ ☆批量备份和恢复应用程序及其数据 ☆安排备份在...

    android:CyanogenMod 11

    CyanogenMod 入门 要开始使用 Android/CyanogenMod,您需要熟悉 。 要使用 CyanogenMod 树初始化本地存储库,请使用如下命令: repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0 然后将 local_...

    乐phone 3GC101_CyanogenMod_体验版 压缩包第二包

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 3、运行商中文显示) f5 z L3 F9 x: @8 h 4、多媒体源码采用谷.歌的...

    乐phone3GW100-CyanogenMod7.1.0-Android2.3.7-体验版 第一卷

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 3、运行商中文显示) f5 z L3 F9 x: @8 h 4、多媒体源码采用谷.歌的...

    乐phone3GW101-CyanogenMod7.1.0-Android2.3.7-体验版 第一卷

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 3、运行商中文显示) f5 z L3 F9 x: @8 h 4、多媒体源码采用谷.歌的...

    乐phone3GW101-CyanogenMod7.1.0-Android2.3.7-体验版 第二卷

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 3、运行商中文显示) f5 z L3 F9 x: @8 h 4、多媒体源码采用谷.歌的...

    乐phone3GW100-CyanogenMod7.1.0-Android2.3.7-体验版 第二卷

    1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 3、运行商中文显示) f5 z L3 F9 x: @8 h 4、多媒体源码采用谷.歌的...

    CyanogenMod10 ntfs 与 exfat 自动挂载支持

    本代码使 Android 系统能够自动挂载 NTFS 与 exFAT...使用的是 CyanogenMod 10.1 的源代码,并在 Samsung GT-I9100 上测试通过。 具体编译说明请参考 http://http://blog.csdn.net/hackpascal/article/details/8850688

    固件管理器高级版|固件管家汉化版

    固件管家汉化版(ROM Manager Premium)是由ClockworkMod出品的一款固件/ROM和Recovery管理工具,ClockworkMod Recovery是目前Android平台上应用得最广泛的第三方Recovery,其影响力与CyanogenMod ROM一样,ROM ...

    CyanogenMod 13:适用于MSM8930 Samsung设备的Android棉花糖-开源

    纯CyanogenMod 13

    Cyanogenmod相机

    类别 图形相关 版本2.0...《Cyanogenmod相机》让你拍照,录制视频以及一键拍出全景照片。用快速控制栏来计划你的完美照片。在你拍好照片之后,全新的图库应用将会通过组织拍照地点和时间来帮你记住你生活中的美好瞬间。

    CMFileManager:CyanogenMod的文件管理器

    CyanogenMod文件管理器AOSP的文件管理器,专注于植根设备,是专门为CyanogenMod项目设计的。 此源是根据许可条款发行的。 访问和以获取源代码和补丁。 版权所有:copyright:2012 The CyanogenMod Project

    Cyanogenmod-cancro:由 AirScript 提供的中文 CyanogenMod 社区支持

    如果你对包含在ROM里的功能担忧,请在刷入之前请做一些调查 你将要做出一些修改,但如果你若因你的设备出现故障而责备我,我不会承担任何责任我反而会嘲笑你。 CyanogenMod 是一个基于 AOSP(Android 开源项目 ...

Global site tag (gtag.js) - Google Analytics