android源码下载以及编译自己的ROM

最近发现kernel.org被墙了,为什么这种网站也能被墙了?

要想下载源码的话,只能绕过去了。下面是我从网上搜索到的一些下载方法;

==============================================================================================

原文链接是:http://cache.baidu.com/c?m=9d78d513d98316ed05fa950e1a67a371685497153ac0a61f6b93d3169c3e1d070571e2c83a3f46599699223a52f95e5c9da177246b1420c0c79fce578be6d77471d574626d4bc61a43d11ea4ca5b24c524905ce2a5&p=882a9f0c909d12a058aedc3d56&user=baidu&fm=sc&query=repo%CF%C2%D4%D8&qid=fe5fa7bb12281bb9&p1=1

kernel.org无法访问导致android的源码无法下载,这是另外一个git服务器的android源码的repo文件。

操作如下

$ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ./repo //获取repo

$ chmod a+x repo

$ PATH= ~/omap4/L27.12.1-P2/mydroid:$PATH

下面就是获取源码了:

$ repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b 27.x -m RLS27.12.1-P2_Gingerbread.xml

$ repo sync

################################################

################################################

另外,如何编译自己的ROM呢?现在网上找到很多第三方的ROM,比如MIUI,CM,OXYGEN都是如何搞出来的?

终于,从CM官方wiki上找到答案。大家可以从上面下载源码,然后自己编译玩玩。

http://wiki.cyanogenmod.com/wiki/HTC_Desire_(GSM):_Compile_CyanogenMod_(Linux)

编译一般流程: source build/envsetup.sh -> lunch -> m | mm | mmm

我自己用G7(必须要ship off才行)试过下面这种搭配:

1 boot.img用CM最新的,通过fastboot flash boot xxxx/boot.img方式烧写boot

2 system.img用google源码编译,下面是大体步骤

2.1 source build/envsetup.sh --->设置环境变量

2.2 choosecombo,选择默认

2.3 export TARGET_PRODUCT=full_passion  这个是官方源码提供的HTC Passion的样板(在device/htc目录下),

2.4 make systemimage。这样就可以编译system.image了。这个速度还行,4核,1.8G内存,虚拟UBUNTU10.04,大概30分钟左右

2.5 fastboot flash system xxxx/system.img,把system烧上去

3 问题解决:

1 android framework肯定跑不起来,原因是audio没有正确的so,所以跑不起来。修改方法,只能换成使用GENERIC_AUDIO方式了。

2 按键不是很正常。没关系,下载miui的G7 update包,解开,将system/usr/keychars/bravo-keypad.kcm.bin 和system/usr/keylayout/bravo-keypad.kl 通过adb push到手机对应目录下。

4 最终:

能跑,但是速度很慢,因为我编的是eng版。这个可能不是最终的原因。我发现显示有点问题,老是闪,估计是显示那块的libgalloc.so有问题,可能得用G7的。

不过终于能自己编译ROM了,以后定制化就方便多了。

下一步要基于CM的版本试试看。

################################################

################################################

1. htc rom刷机步骤如下:

adb reboot bootloader

sudo `which fastboot` flash zip **_partial.zip

sudo `which fastboot` flash zip **_sign.zip

sudo `which fastboot` reboot

若是htc手機,fastboot 改爲 ./htc_fastboot

sudo ./htc_fastboot flash zip 333397-001_M7_Generic_WWE_K442_CRC_Sense60_Stable_MR2_partial.zip
  ls
  sudo ./htc_fastboot flash zip 333397-001_M7_Generic_WWE_K442_CRC_Sense60_Stable_MR2_signed.zip

2. 刷机步骤如下:

修改Framework源碼之後,可以通過以下批處理命令將編譯後的系統文件燒到模擬器中去:

#!/bin/sh

ANDROID_SRC_DIR='/work/aosp'

cd ${ANDROID_SRC_DIR}

EMU_KERNEL=" ./prebuilts/qemu-kernel/arm/kernel-qemu"

#EMU_KERNEL=" ./out/target/product/generic/kernel-qemu"

SYS_IMG=" ./out/target/product/generic/system.img"

RAD_IMG=" ./out/target/product/generic/ramdisk.img"

CACHE_IMG=" ./out/target/product/generic/cache.img"

DATA_IMG=" ./out/target/product/generic/userdata.img"

EMU_BIN="./prebuilts/android-emulator/linux-x86_64/emulator"

#####-data ${DATA_IMG}

${EMU_BIN} -avd AVD_4.0 -kernel ${EMU_KERNEL} -system ${SYS_IMG} -ramdisk ${RAD_IMG} -cache ${CACHE_IMG}

android源码下载以及编译自己的ROM的更多相关文章

  1. Android学习系列(38)--Android源码下载和编译

    前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在<拓展系列>里.随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以 ...

  2. Android源码下载和编译过程

    这是我在编译android源码时整理记录的编译步骤和错误解决方法,期间参考了一些网上的博客和教程. 第一步: 安装ubuntu12.04,分配一盘空间50G,2G内存.如果分配1G内存编译时将报错.( ...

  3. Android源码、内核编译

    Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码.编译源码.下载内核.编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可 ...

  4. [Android 源码] Android源码下载

    Android源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中. 官网中也有详细的介绍: http://source.a ...

  5. 驾照理论模拟考试系统Android源码下载

    ‍‍‍驾照理论模拟考试系统Android源码下载 <ignore_js_op> 9.png (55.77 KB, 下载次数: 0) <ignore_js_op> 10.png ...

  6. Android源码下载方法详解

    转自:http://www.cnblogs.com/anakin/archive/2011/12/20/2295276.html Android源码下载方法详解 相信很多下载过内核的人都对这个很熟悉 ...

  7. Android源码下载

    Android源码下载 1.安装git 2.安装repo 从这里 https://dl-ssl.google.com/dl/googlesource/git-repo/repo 下载repo文件 3. ...

  8. android源码下载/查看地址

    源码下载: http://git.omapzoom.org/ 高通平台android源码下载地址: https://www.codeaurora.org/xwiki/bin/QAEP/WebHome ...

  9. I.MX6 android 源码下载

    /************************************************************************* * I.MX6 android 源码下载 * 说明 ...

随机推荐

  1. Hbase 学习笔记2----概念

    说在前面,本文部分内容来源于社区官网经过适度翻译,部分根据经验总结,部分是抄袭网络博文,(不一一列举引用,在此致歉)一并列在一起,本文的目的,希望能总结出一些有用的,应该注意到的东西,基本思路是先提出 ...

  2. 微信小程序组件form

    表单组件form:官方文档 Demo Code: Page({ formSubmit: function(e) { console.log('form发生了submit事件,携带数据为:', e.de ...

  3. CNN学习笔记:卷积运算

    CNN学习笔记:卷积运算 边缘检测 卷积 卷积是一种有效提取图片特征的方法.一般用一个正方形卷积核,遍历图片上的每一个像素点.图片与卷积核重合区域内相对应的每一个像素值乘卷积核 .内相对应点的权重,然 ...

  4. Unity,基于layer的碰撞配置

    可以通过给对象指定layer,实现相同.不同layer之间碰撞的自由配置,比如我们想让怪物之间不碰撞,英雄和怪物之间碰撞,我们就可以这样指定,去掉enemies之间的勾选. 打开方式-edit-> ...

  5. DataNode启动不成功——java.net.BindException: Port in use: localhost:0 Caused by: java.net.BindException: Cannot assign requested address解决办法

    爱折腾的人总是会出线各种奇怪的问题.记得之前听一位大师讲过,我们不能踩完前进路上的所有坑前进,而应该学会怎样避开前进路上的坑,踩得坑越多,可能你的经验越丰富,但是付出的时间代价可能不是经验能换来的.我 ...

  6. C++添加简单的日记记录

    #include<fstream>#include<iostream> using namespace std;//这是一种日记记录 b 种void LOG(char *tx, ...

  7. [算法] 将单链表的每K个节点之间逆序

    题目 给定一个单链表的头结点,实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点. 解答 使用栈结构 import java.util.Stack; pu ...

  8. spring data redis的使用jar包版本冲突问题

    spring data redis 与spring 版本之间会有不兼容,要求spring 最低版本为4.2.6,这里推荐的一个版本 spring 4.3.2  spring data redis 1. ...

  9. python 中 正则表达式 的应用

    python 中 正则表达式 的应用 最近作业中出现了正则表达式,顺便学习了一下. python比较厉害的一点就是自带对正则表达式的支持,用起来很方便 正则表达式 首先介绍一下什么是正则表达式. 正则 ...

  10. 服务器状态监控之snmp&ipmi

    一.ipmi 1.简介 IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备"智能化"的新一代通用接口标 ...