Android備忘錄(二)

如何下載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.csdn.net/yanbober/article/details/48846331

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章