http://www.cnrgb.com/compile-cyanogenmod-for-hero-gsm-android-from-source-code

1. 安装Ubuntu。此处略过。

2. 下载安装必要的包:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

3. 安装Eclipse的ADK (Android SDK)插件,此处略过。

4. 安装Java6.0 JDK

$ sudo add-apt-repository “debhttp://archive.canonical.com/lucid partner”

$ sudo aptitude update

$ sudo apt-get install sun-java6-jdk

5. 安装repo

$ mkdir -p ~/bin

$ curlhttp://android.git.kernel.org/repo> ~/bin/repo

$ chmod a+x ~/bin/repo

将~/bin加入环境变量$PATH中

$ gedit ~/.bashrc

最后一行添加export PATH=$PATH: ~/bin

至此,前期准备工作已经完成了,以下要进行源代码的下载。

$ mkdir -p ~/android/system

$ cd ~/android/system/

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

$ repo sync

现在正在下载的是Froyo分支的源代码,此过程视网速而定,一般需要半天左右的时间。

有不太明白的地方,抓紧时间赶快复习一下吧。

第三步要进行配置,首先,提取手机内的私有配置文件,也可以使用SDK中提取的文件。

1. 将手机通过ADB连接电脑USB

2. 运行以下指令完成提取

$ cd ~/android/system/device/htc/hero/

$ ./extract-files.sh

3. 下载RomManager

$ cd ~/android/system/vendor/cyanogen/

$ ./get-rommanager

$ ./get-google-files -v MDPI

4. 生成编译配置文件

$ cd ~/android/system/

$ cp ./vendor/cyanogen/products/cyanogen_hero.mk ./buildspec.mk

$ . build/envsetup.sh

$ lunch cyanogen_hero-eng

下面要开始编译源代码,方法有两种:

方法一:直接编译生成update.zip

$ make -j`grep ‘processor’ /proc/cpuinfo | wc -l` CYANOGEN_WITH_GOOGLE=true otapackage

$ ./vendor/cyanogen/tools/squisher

执行完毕之后会在~/android/system/out/target/product/hero/下生成一个update.cm-6xxxxx-signed.zip文件,开始刷吧!

方法二:编译生成Individual.img

$ make -j`grep ‘processor’ /proc/cpuinfo | wc -l` CYANOGEN_WITH_GOOGLE=true

刷.img文件可以在fastboot模式下进行。

$ cd ~/android/system/out/target/product/heroc

$ fastboot flashall

好了,全部过程就是这些,很简单吧?你现在也可以自制ROM了。

更多相关文章

  1. android中的数据存取-方式二:file(文件)
  2. Sqlite在Android上的一个Bug - 临时文件写策略
  3. Android多国语言文件夹
  4. android重新启动应用程序和重新启动系统
  5. android 随手记 遍历文件夹下的文件有多少
  6. android 自定义 radiobutton 文字颜色随选中状态而改变
  7. Android(安卓)adb shell启动应用程序的方法
  8. 关于android studio 出现Error:Execution failed for task ':app
  9. SDK1.5下 android判断是否存在网络

随机推荐

  1. 【笔记】试玩 cocos2d-x-3.0beta on andr
  2. Android中的实体类的正确用法
  3. Android使用libjpeg实现图片压缩
  4. Android 进程和线程模型
  5. android之NFC基础技术分享
  6. [转]Android 应用程序基础(Application Fu
  7. android权限管理之PermissionsDispatcher
  8. Android的路接下来该怎么走?
  9. android sqlite 操作 说明 记录
  10. android设置背景