如何下载google最新的代码
我这里使用windows下载aosp的代码 ,没有装repo。
需要准备的工具:python,python脚本
需要的工具如下:
下载git, 安装官方下载:https://git-scm.com/downloads/
下载python ,http://www.python.org
安装完之后打开git bash,输入如下命令
git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git
切换到manifest分支,git tag可以列出各个分支的版本,选择合适的版本,checkout进去就可以了。
manifest/default.xml记录的就是当前android系统各个模块的路径。
如下是当前的下载脚本,需要将git的路径换成自己的路径,然后执行这个脚本就可以自动下载远吗。
download-code.pl:
import xml.dom.minidom
import os
from subprocess import call
# 1. 修改为源码要保存的路径
rootdir = "E:/AndroidAosp/android-9.0.0_r3"
# 2. 设置 git 安装的路径
git = "D:/software/Git/bin/git.exe"
# 3. 修改为第一步中 manifest 中 default.xml 保存的路径
dom = xml.dom.minidom.parse("E:/AndroidAosp/manifest/default.xml")
root = dom.documentElement
#prefix = git + " clone https://android.googlesource.com/"
# 4. 没有梯子使用清华源下载
prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"
suffix = ".git"
if not os.path.exists(rootdir):
os.mkdir(rootdir)
for node in root.getElementsByTagName("project"):
os.chdir(rootdir)
d = node.getAttribute("path")
last = d.rfind("/")
if last != -1:
d = rootdir + "/" + d[:last]
if not os.path.exists(d):
os.makedirs(d)
os.chdir(d)
cmd = prefix + node.getAttribute("name") + suffix
print(cmd)
call(cmd)
当然也可以安装cygwin,然后安装repo去下载android版本。
参考:https://www.jianshu.com/p/a6bb22f5875e
如何用Android Studio导入aosp代码
谷歌其实提供了工具供AndroidStudio导入源码,需要:
1、编译出idegen.jar (mmm development/tools/idegen/)
当然这个步骤可以上网找,或者从别的地方弄,只要能够找到idegen.jar,然后放到out\host\linux-x86\framework目录下
然后进入到development/tools/idegen/idegen.sh目录,执行如下脚本(windows下面在git bash里面用sh XXX.sh执行即可)
执行完之后,再aosp的根目录下会出现
.classpath
android.iml
android.ipr
android.iws
四个文件,接着用android studio导入工程即可。
注意的是,一次不要导入太多,网上的方法都不太靠谱,最好的方法是将要导入的code单独放到一个文件夹下,比如framework,这样才只会导入一部分。
导入之后会提示sdk没有设置,这个时候只需要设置java的sdk,不要设置android的sdk,否则跳转会跳转到.class文件
参考:https://blog.youkuaiyun.com/yanbober/article/details/48846331