博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的用repo获取android的源代码
阅读量:2299 次
发布时间:2019-05-09

本文共 1891 字,大约阅读时间需要 6 分钟。

简单的用repo获取android的源代码  

 |字号 

由于我之前下载的是网上的高手已经制作好了的armv4版的根文件系统,被裁剪的比较严重,本来还以为可以把触摸屏的校正功能完成的,无奈根文件系统下缺少不少东西,要从新编译生成一个才行,在这个基础上的移植只好作罢,只要去google下载新的源代码了,找了半天,发现要用个什么repo这个脚本来获取,真是麻烦啊!其实麻烦到没啥,最让人郁闷的就是那可怜的下载速度了,泪奔~~~~~~
这里还是稍微记录一下我遇到的问题把。
1.安装git 好像用arch的并且从aur下载安装过东西的应该这两个工具都有了,最好把gnupg也安装了,后面要用到
 yaourt -S git curl gnupg
2. 生成repo
首先在你当前用户的home目录新建一个bin文件夹 然后执行 PATH=~/bin:$PATH,把当前的bin目录加入到搜索路径中。
然后执行 curl  >~/bin/repo
生成repo脚本,并执行chmod a+x ~/bin/repo加上执行权限
3.建立一个工作目录,例如mkdir android 并cd android 切换到android目录
4.执行repo init -u git://android.git.kernel.org/platform/manifest.git 来初始化数据库。
我就再这一步部出现了OSError,e:的错误,刚开始以为我获取的脚本出现了问题,删除掉原来的,重新获取,还是提示一样的问题,因为repo属于python的脚本,然后我在google的网站看到python的版本要求是2.4-2.7,我一查询我的系统的,居然是3.2的版本,本打算在服务器上看看有没有python的2.6的版本的,意外的发现我系统还安装了python2,然后察看了一下,发现python2的版本是2.7.1的,这才了解,repo脚本中调用的python,实际上链接到了python 3.2的版本了,导致语法错误,知道了这个问题之后,尝试编辑repo这个文件,搜索python,将"""exec" python -E "$0" "$@" """#$magic" 修改为
"""exec" python2 -E "$0" "$@" """#$magic" 搞定
5.下载了一会儿发现有提示错误,这次提示.repo/repo/main.py 文件有错误什么的,依然是上面的解决办法 vim .repo/repo/main.py 
把python换成python2就可以了
6.具体checkout那个版本,使用-b xxxxx 例如我想要froyo这个分支的话,就执行
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
7.执行repo sync 开始下载,这个可能要根据自己的网络来决定速度了,反正我速度很蛋疼,也看到很多的抱怨说速度蛋疼的,那就一起那就蛋疼把,正好去干点别的事情。

如果同步下来以后,想再切换到其它branch,并进行下载,就执行下面的命令,

repo init –b cupcake

repo sync

最后贴上一些repo的说明,这个我也没尝试过,还在蛋疼的下载中。。。。。

1.这个过程是下载repo到.repo/repo目录下面,一般来说可以看到多个branch的版本,默认是用master branch

2.repo init操作会从下面的指定地址获取指定的版本库,并checkout出一份最新的项目清单,放在.repo/manifest/default.xml文件中

如果需要某个project

git clone git://android.git.kernel.org/kernel/common.git

如果需要某个branch的代码

git checkout origin/android-goldfish-2.6.27 -b goldfish

4.同步repo

repo sync

同步单个project

git pull

 
本文参考教程分别为
http://source.android.com/source/downloading.html
http://redyuan43.blog.163.com/blog/static/174100469201052111720738/
1 
分享到:
        
阅读(338)
| 
评论(0)
| 
转载 
(0) 
|
举报

最近读者

你可能感兴趣的文章
管道编程之pipe
查看>>
网络编程--C/S日期查询例子
查看>>
IPC机制---共享内存编程
查看>>
使用inotify进行文件事件通知
查看>>
Linux中时间函数的应用接口
查看>>
DNS解析过程详解
查看>>
牛奶可乐经济学---阅读总结
查看>>
求最长子序列和
查看>>
计算最大公因数的欧几里德算法
查看>>
在驱动程序中改变进程状态并调用schedule()
查看>>
C语言中的-------结构
查看>>
栈的应用---平衡符号
查看>>
用栈计算逆波兰式
查看>>
利用数组栈将中缀表达式转换成后缀表达式
查看>>
SpringBoot + Mybatis-plus实战之Mybatis-plus的一级缓存、二级缓存
查看>>
Java 字符串型的日期对比大小
查看>>
Java常见异常类型
查看>>
aviator 实现 List 的求和、排序、最大、最小值
查看>>
android内存碎片问题优化梳理
查看>>
android相机场景下整机内存分析
查看>>