编译参考: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'即可。
分享到:
相关推荐
CyanogenMod编译环境的搭建和可刷机文件的编译及打包
这个可以从CyanogenMod7的ROM中提取。 也可以到XDA上面下载新的AOSP核心。 bin/目录下的2个文件,awb_camera和lsc_camera这2个是相机相关文件。 etc/firmware这整个文件夹都可以替换掉(注意,是etc下面的firmware)
5. **CM10.1**:CM(CyanogenMod)是一个知名的第三方Android ROM,基于AOSP(Android Open Source Project)。CM10.1对应的是Android 4.2 Jelly Bean的一个分支,它提供了许多原生系统不具备的功能和自定义选项。...
CyanogenMod android平台 android 4.0 launcher 2 源码 eclipse可以编译. 经过大量修改: 它支持android 4.0 系统, 它支持android 4.1 系统. 均通过真机测试. 联系我获得技术支持.
这些ROM可能来自于设备制造商的官方更新,也可能来自开发者社区的自定义ROM,如CyanogenMod(现为LineageOS)。 2. **设备适配**:不同的设备硬件配置可能需要对ROM进行一定程度的修改,以确保驱动兼容性和功能正常...
1、此ROM是移植CyanogenMod7.1而来, Android版本为2.3.7, 内核版本为2.6.32 2、解决了之前原生2.3.2的断网和亮度的BUG,并且开启了自动亮度调节功能 去除手机激活提示, 加入APN编辑与切换功能 4、多媒体源码采用谷....
描述虽然为空,但我们可以假设这涉及到一篇博客文章,可能详细介绍了博主在尝试编译CM11(这是CyanogenMod的一个较旧版本)到i9000设备上的经历。通过博文链接可以找到更具体的信息和步骤。 标签 "源码" 和 "工具" ...
3. CyanogenMod:CyanogenMod是一个流行的安卓ROM,提供了大量的定制化选项和功能。 4. TWRP(Team Win Recovery Project):TWRP是一个流行的恢复模式工具,提供了大量的恢复模式下的功能和选项。 三、安卓ROM制作...
标题中的“Samsung Galaxy S: Compile CyanogenMod (Linux)”指的是在Linux操作系统上为Samsung Galaxy S手机编译CyanogenMod的过程。CyanogenMod是一种基于Android开源项目的第三方操作系统,它提供更多的自定义...
ROM文件可能包括官方发布的系统更新、第三方开发者编译的定制系统(如CyanogenMod、LineageOS等),或者是特定版本的操作系统恢复。这些ROM可以解决手机的性能问题、增加新特性、或者让手机体验更加个性化。 首次...
【编译CWM Recovery】是Android系统中一个重要的自定义恢复环境的过程,它涉及到对源码的处理和编译,以便生成适用于特定设备的恢复镜像。CWM,全称ClockworkMod Recovery,是一个功能丰富的第三方恢复程序,允许...
- **CyanogenMod Builder**或**LineageOS Custom Recovery Builder**:自动化构建工具,简化ROM制作过程。 在XDA Developers等论坛,有许多教程和指南可以帮助初学者理解ROM制作的全过程,同时也有很多经验丰富的...
对于Android系统而言,ROM不仅仅是原厂的系统软件,还可以是指由开发者编译的第三方系统,如CyanogenMod、LineageOS等。 "最新c8813q最新ROM"提及的是华为c8813q这款智能手机的一个更新版本的ROM。华为c8813q是一款...
刷ROM,简单来说就是更换手机的系统镜像,可以是官方发布的更新,也可以是来自社区的第三方定制版,如CyanogenMod、LineageOS等。通过刷ROM,用户不仅可以获得新的功能,还可以优化设备性能,解决原厂系统存在的问题...
这种操作通常是为了获取新功能、优化性能、修复已知问题或者安装第三方开发者编译的系统版本(如CyanogenMod等)。不过,刷机并非无风险的行为。 刷机过程中,用户需要注意以下几点风险: 1. 数据丢失:刷机前必须...
例如文中提到的“安卓农夫ROM2.4”或“CyanogenMod”等。 - **解压ROM文件**:下载好基础ROM之后,将其解压到指定目录中。 #### 四、解压后的ROM结构分析 解压后的ROM文件夹通常包含以下几个重要组成部分: 1. **...
第三方ROM如CyanogenMod(现已停止更新)、LineageOS等,提供了更多的自定义选项;自制ROM则是由社区开发者根据官方源代码修改制作的,可能包含特定的功能或优化。 5. **下载地址**:由于文件大小的限制,描述中...
在本文中,我们将深入探讨如何编译Android源...遵循上述步骤,你应该能够成功地为Dream/G1设备编译CyanogenMod或其他自定义ROM。随着Android系统的不断更新,编译流程可能会有所变化,因此建议定期查看最新的编译指南。
这可能是因为用户想要获取新功能、提升设备性能、解决硬件问题,或者为了获得更自由的定制体验,比如安装第三方系统如CyanogenMod等。 刷ROM的过程通常包括以下步骤: 1. **备份**:在进行任何系统修改前,确保...
1. **基线ROM**:这是修改的基础,可以是官方的系统更新或者第三方的定制ROM,如CyanogenMod、LineageOS等。 2. **补丁和修改**:开发者会根据需求对基线ROM进行修改,如替换图标、添加功能、优化性能等。 3. **恢复...