android源码下载以及编译自己的ROM
android源码下载以及编译自己的ROM
最近发现kernel.org被墙了,为什么这种网站也能被墙了?
要想下载源码的话,只能绕过去了。下面是我从网上搜索到的一些下载方法;
==============================================================================================
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的更多相关文章
- Android学习系列(38)--Android源码下载和编译
前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在<拓展系列>里.随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以 ...
- Android源码下载和编译过程
这是我在编译android源码时整理记录的编译步骤和错误解决方法,期间参考了一些网上的博客和教程. 第一步: 安装ubuntu12.04,分配一盘空间50G,2G内存.如果分配1G内存编译时将报错.( ...
- Android源码、内核编译
Android源码和内核的编译就是一场马拉松,每一个节点都耗时漫长,下载源码.编译源码.下载内核.编译内核,下载中途会断掉,编译中间会失败,求解再重来,又是一轮马拉松,于是每一步都要做好备份和记录,可 ...
- [Android 源码] Android源码下载
Android源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中. 官网中也有详细的介绍: http://source.a ...
- 驾照理论模拟考试系统Android源码下载
驾照理论模拟考试系统Android源码下载 <ignore_js_op> 9.png (55.77 KB, 下载次数: 0) <ignore_js_op> 10.png ...
- Android源码下载方法详解
转自:http://www.cnblogs.com/anakin/archive/2011/12/20/2295276.html Android源码下载方法详解 相信很多下载过内核的人都对这个很熟悉 ...
- Android源码下载
Android源码下载 1.安装git 2.安装repo 从这里 https://dl-ssl.google.com/dl/googlesource/git-repo/repo 下载repo文件 3. ...
- android源码下载/查看地址
源码下载: http://git.omapzoom.org/ 高通平台android源码下载地址: https://www.codeaurora.org/xwiki/bin/QAEP/WebHome ...
- I.MX6 android 源码下载
/************************************************************************* * I.MX6 android 源码下载 * 说明 ...
随机推荐
- Python(函数的参数)
函数参数的使用 def foo(x,y): pass foo(1,2) 形参:就是变量名 实参:就是变量值 形参:位置形参,默认参数,*args,命名关键字参数,**kwargs 实参: 按位置传值的 ...
- Php ArrayIterator的几个常用方法
搜索商低..从php.net找到 ,自己翻译一下 总结在一起 rewind() 指针回到初始位置 valid() 判断数组当前指针下是否有元素 key() 数组键 ...
- s5_day12作业
# day12作业: # 功能实现: # 一个文件夹中,存在多个文件,包括图片,视频,文本等等, # 遍历出时间在2017-06-05至2017-06-09这段时间内创建的所有文件.具体文件夹,自己创 ...
- 三道半平面交测模板题 Poj1474 Poj 3335 Poj 3130
求半平面交的算法是zzy大神的排序增量法. ///Poj 1474 #include <cmath> #include <algorithm> #include <cst ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会 F - Color it (扫描线)
题意:一个N*M的矩形,每个点初始都是白色的,有Q次操作,每次操作将以(x,y)为圆心,r为半径的区域涂成黑点.求最后剩余白色点数. 分析:对每行,将Q次操作在该行的涂色视作一段区间,那么该行最后的白 ...
- AFNetworking 3.0 解决加密后请求参数是字符串问题
把整个请求参数的json加密生成一个字符串传给服务器,错误提示:[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top ...
- ASP.NET MVC jQuery 树插件在项目中使用方法(一)
jsTree是一个 基于jQuery的Tree控件.支持XML,JSON,Html三种数据源.提供创建,重命名,移动,删除,拖"放节点操作.可以自己自定义创建,删 除,嵌套,重命名,选择节点 ...
- 20162326 齐力锋 2016-2017-2 《程序设计与数据结构》 MySort.java 实验博客
实验代码学习编程中的问题及解决方法 代码运行成功截图 首次代码运行出现的问题截图 问题1:无法从静态上下文中引用非静态方法 问题1解决方法及思考: split方法是非静态方法,需要借助对象来调用.我查 ...
- 谈谈对Canal(增量数据订阅与消费)的理解
概述 canal是阿里巴巴旗下的一款开源项目,纯Java开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql(也支持mariaDB). 起源:早期,阿里巴巴B2B公司 ...
- 使用shiro缓存用户身份信息的时候报:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource
最近在使用shiro缓存用户的身份信息的时候,报了simpleByteSource不能序列化,跟进源码一看,原来这个类没有实现序列化的接口,但是我在缓存身份信息的实现又要用到这个类,解决方法:重写一个 ...