`
aswang
  • 浏览: 847803 次
  • 性别: 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编译环境的搭建和可刷机文件的编译及打包

    高通rom移植教程

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

    最新Android源码编译 ROM 资料

    5. **CM10.1**:CM(CyanogenMod)是一个知名的第三方Android ROM,基于AOSP(Android Open Source Project)。CM10.1对应的是Android 4.2 Jelly Bean的一个分支,它提供了许多原生系统不具备的功能和自定义选项。...

    CyanogenMod launcher2 源码,eclipse可以编译

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

    ROM移植工具

    这些ROM可能来自于设备制造商的官方更新,也可能来自开发者社区的自定义ROM,如CyanogenMod(现为LineageOS)。 2. **设备适配**:不同的设备硬件配置可能需要对ROM进行一定程度的修改,以确保驱动兼容性和功能正常...

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

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

    编译 i9000的cm系统

    描述虽然为空,但我们可以假设这涉及到一篇博客文章,可能详细介绍了博主在尝试编译CM11(这是CyanogenMod的一个较旧版本)到i9000设备上的经历。通过博文链接可以找到更具体的信息和步骤。 标签 "源码" 和 "工具" ...

    安卓ROM制作九大教程.pdf

    3. CyanogenMod:CyanogenMod是一个流行的安卓ROM,提供了大量的定制化选项和功能。 4. TWRP(Team Win Recovery Project):TWRP是一个流行的恢复模式工具,提供了大量的恢复模式下的功能和选项。 三、安卓ROM制作...

    Samsung Galaxy S: Compile CyanogenMod (Linux)

    标题中的“Samsung Galaxy S: Compile CyanogenMod (Linux)”指的是在Linux操作系统上为Samsung Galaxy S手机编译CyanogenMod的过程。CyanogenMod是一种基于Android开源项目的第三方操作系统,它提供更多的自定义...

    三星ROM下载器

    ROM文件可能包括官方发布的系统更新、第三方开发者编译的定制系统(如CyanogenMod、LineageOS等),或者是特定版本的操作系统恢复。这些ROM可以解决手机的性能问题、增加新特性、或者让手机体验更加个性化。 首次...

    如何编译CWM Recovery

    【编译CWM Recovery】是Android系统中一个重要的自定义恢复环境的过程,它涉及到对源码的处理和编译,以便生成适用于特定设备的恢复镜像。CWM,全称ClockworkMod Recovery,是一个功能丰富的第三方恢复程序,允许...

    rom制作工具

    - **CyanogenMod Builder**或**LineageOS Custom Recovery Builder**:自动化构建工具,简化ROM制作过程。 在XDA Developers等论坛,有许多教程和指南可以帮助初学者理解ROM制作的全过程,同时也有很多经验丰富的...

    c8813q最新ROM

    对于Android系统而言,ROM不仅仅是原厂的系统软件,还可以是指由开发者编译的第三方系统,如CyanogenMod、LineageOS等。 "最新c8813q最新ROM"提及的是华为c8813q这款智能手机的一个更新版本的ROM。华为c8813q是一款...

    中兴V970 rom

    刷ROM,简单来说就是更换手机的系统镜像,可以是官方发布的更新,也可以是来自社区的第三方定制版,如CyanogenMod、LineageOS等。通过刷ROM,用户不仅可以获得新的功能,还可以优化设备性能,解决原厂系统存在的问题...

    华为 c5110 rom

    这种操作通常是为了获取新功能、优化性能、修复已知问题或者安装第三方开发者编译的系统版本(如CyanogenMod等)。不过,刷机并非无风险的行为。 刷机过程中,用户需要注意以下几点风险: 1. 数据丢失:刷机前必须...

    制作 Android ROM的步骤

    例如文中提到的“安卓农夫ROM2.4”或“CyanogenMod”等。 - **解压ROM文件**:下载好基础ROM之后,将其解压到指定目录中。 #### 四、解压后的ROM结构分析 解压后的ROM文件夹通常包含以下几个重要组成部分: 1. **...

    手机ROM下载

    第三方ROM如CyanogenMod(现已停止更新)、LineageOS等,提供了更多的自定义选项;自制ROM则是由社区开发者根据官方源代码修改制作的,可能包含特定的功能或优化。 5. **下载地址**:由于文件大小的限制,描述中...

    Android 源码编译过程

    在本文中,我们将深入探讨如何编译Android源...遵循上述步骤,你应该能够成功地为Dream/G1设备编译CyanogenMod或其他自定义ROM。随着Android系统的不断更新,编译流程可能会有所变化,因此建议定期查看最新的编译指南。

    _ROM全套资料

    这可能是因为用户想要获取新功能、提升设备性能、解决硬件问题,或者为了获得更自由的定制体验,比如安装第三方系统如CyanogenMod等。 刷ROM的过程通常包括以下步骤: 1. **备份**:在进行任何系统修改前,确保...

    ROM修改(初级)

    1. **基线ROM**:这是修改的基础,可以是官方的系统更新或者第三方的定制ROM,如CyanogenMod、LineageOS等。 2. **补丁和修改**:开发者会根据需求对基线ROM进行修改,如替换图标、添加功能、优化性能等。 3. **恢复...

Global site tag (gtag.js) - Google Analytics