WindowsでAndroidソースをダウンロード
5618 ワード
msysgitのダウンロード、インストール
公式ダウンロード:http://code.google.com/p/msysgit/downloads/list、
Git Bashを開き、コマンドを実行
コマンドを入力してmanifestフォルダに切り替えます
git tag androidの各ブランチバージョン番号をリスト
android-2.2システムのソースコードをダウンロードして、以下のコマンドを入力して、他のバージョン番号のソースコードをダウンロードすると仮定して、checkout git tagのリストのバージョン番号でいいです
checkoutの後、manifest/default.xmlファイルに記録されているのはandroid 2.2システムの各モジュールのパスです.
default.xmlファイルを分析してみましょう
bionicを例にとるとpath属性はbionicソースコードの相対経路を表し、androidソースコードがd:/android-sourceでbionicをダウンロードした後、d:/android-source/bionicフォルダに格納すべきである
name属性はbionicソースコードのライブラリ上のパスであり、完全なパスは:http://android.googlesource.com/platform/bionic.gitであり、ソースコードのダウンロードパスがあればgit cloneを実行してbionicソースコードをローカルにダウンロードすることができる.
Androidソースコードにはprojectが非常に多く、1つ1つダウンロードするのが面倒で、本人はpythonスクリプトを書いて、download-src.pyをダブルクリックしてこのスクリプトを実行して、androidの完全なソースコードをローカルにダウンロードすることができます.
PS:このスクリプトを実行する前提はgit checkoutが実行されていることです.ダウンロードするAndroidソースのバージョン番号を選択してください.manifestファイルがD:/manifest/default.xmlではないと仮定して、スクリプトを自分で変更してください.
download-src.pyソースコード:
公式ダウンロード:http://code.google.com/p/msysgit/downloads/list、
Git Bashを開き、コマンドを実行
cd D:
git clone https://android.googlesource.com/platform/manifest.git
コマンドを入力してmanifestフォルダに切り替えます
cd manifest
git tag androidの各ブランチバージョン番号をリスト
git tag
android-2.2システムのソースコードをダウンロードして、以下のコマンドを入力して、他のバージョン番号のソースコードをダウンロードすると仮定して、checkout git tagのリストのバージョン番号でいいです
git checkout android-2.2_r1
checkoutの後、manifest/default.xmlファイルに記録されているのはandroid 2.2システムの各モジュールのパスです.
default.xmlファイルを分析してみましょう
bionicを例にとるとpath属性はbionicソースコードの相対経路を表し、androidソースコードがd:/android-sourceでbionicをダウンロードした後、d:/android-source/bionicフォルダに格納すべきである
name属性はbionicソースコードのライブラリ上のパスであり、完全なパスは:http://android.googlesource.com/platform/bionic.gitであり、ソースコードのダウンロードパスがあればgit cloneを実行してbionicソースコードをローカルにダウンロードすることができる.
Androidソースコードにはprojectが非常に多く、1つ1つダウンロードするのが面倒で、本人はpythonスクリプトを書いて、download-src.pyをダブルクリックしてこのスクリプトを実行して、androidの完全なソースコードをローカルにダウンロードすることができます.
PS:このスクリプトを実行する前提はgit checkoutが実行されていることです.ダウンロードするAndroidソースのバージョン番号を選択してください.manifestファイルがD:/manifest/default.xmlではないと仮定して、スクリプトを自分で変更してください.
download-src.pyソースコード:
import xml.dom.minidom
import os
from subprocess import call
#downloaded source path
rootdir = "D:/android-source"
#git program path
git = "D:/Program Files/Git/bin/git.exe"
dom = xml.dom.minidom.parse("D:/manifest/default.xml")
root = dom.documentElement
prefix = git + " clone https://android.googlesource.com/"
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
call(cmd)