WindowsでAndroidのソースコードをカンタンにダウンロードする方法まとめ - ReDo

2012年2月24日

WindowsでAndroidのソースコードをカンタンにダウンロードする方法まとめ

Androidはオープンソースってやつなので、プラットフォームのソースコード一式が公開されていますが、「じゃあちょっとだけ欲しい」って際に、いかんせん最終形態は強大で、そこそこ手間(とディスク容量)を食います。

そんな「VMでUbuntuとか用意するの面倒だよ」って方のために、目的別でカンタンな順にAndroidのソースコードを確認する方法を紹介します。

【1. frameworkのソースが見たい】

SDKでソースコードが落とせるようになったので、SDK Managerから「Sources for Android SDK」というのをチェックしてダウンロードしてください。
※ただしAPI14以降にしか対応していません。


【2. もう少しコアな部分のソースの一部だけ見たい】

OESFの協力のもと、Web上でソースコードを検索できるサービスが公開されています。

Androidソースコード検索サービス
https://sites.google.com/site/devcollaboration/codesearch

2.2から始まり最新の複数のバージョンに対応しております。

○○Managerの挙動はどうなっとるんだ!とかそういう際の調査に便利です。


【3. 一部のプロジェクトごとソースが欲しい】

ここからはgitでの取得になります。

Windows環境ではmsysgitを入れておくのが現在(2012.02)は妥当っぽいです。

msysgitのインストール手順をさらっと。

・インストール。
 ・文字コードの自動変更は怖いのでas is pull, as is pushに変更。
 ・コマンドプロンプトで文字化けが出るらしいのでフォントは変更しない。
・プロキシ環境の際にはプロキシを設定。
git config --global http.proxy お使いのプロキシサーバのアドレス:8080
・名前とメールアドレスが初期値だとマシン名とからしいので変更。
git config --global user.name youten
git config --global user.email youtenredo@gmail.com


AOSP(Android Open Source Project)のソース一式は大量のgitサブプロジェクトから構成されています。
この一部だけが欲しいという際には、Google公式のgitリポジトリにhttpでアクセスします。

※標準の電卓アプリのプロジェクトのclone例
git init
git clone http://android.googlesource.com/platform/packages/apps/Calculator.git

エミュレータ付属アプリの実装を参考にしたい!という際にどうぞ。


【4. 一応ごそっとまるまる欲しい】

OESFがgithubにクローンしているリポジトリがあるため、そこから取得するのが楽です。

git init
git clone https://github.com/OESF/OHA-Android-4.0.3_r1.0.git

ダウンロードサイズは1.41GiBですが、展開後ディスク容量は6.02GBになります。
サーバでがんばって圧縮して送ってくれます。

$ git clone https://github.com/OESF/OHA-Android-4.0.3_r1.0.git
Cloning into 'OHA-Android-4.0.3_r1.0'...
remote: Counting objects: 177369, done.
remote: Compressing objects: 100% (116187/116187), done.
remote: Total 177369 (delta 51397), reused 177369 (delta 51397)
Receiving objects: 100% (177369/177369), 1.41 GiB | 1.21 MiB/s, done.
Resolving deltas: 100% (51397/51397), done.

←ここまで終わってから展開してプロンプトが返るまでたっぷり時間がかかるのでCtrl-cしない様に注意!!


【5. プラットフォームのビルドがしたい(正式な手順)】

・Ubuntuを用意してください。

10.04 LTSであれば良いよって公式に書いてあります。あまり新しすぎるとちょろちょろ問題があるかもしれません。
http://source.android.com/source/initializing.html
> The Android build is routinely tested in house on recent versions of Ubuntu LTS (10.04),

VMでも問題ありません。ただし、並列数×1.5GBのメモリが必要だそうなので、それなりに自信の無い環境でビルドする際にはmake -j2とか並列数を落とすと完走可能になるとのことです。

ICSをビルドしてみた / 横浜PF部 @kinneko

恐竜先生

-j4でx86ビルドしたら、
swapに1.5Gくらい飛んで進まなくなって涙目。

jarからdex作るところで-Xmx1536Mになってるのが
一番メモリ喰ってる。
並列数x1.5GBのメモリが必須。
javaプログラムなのでCPUはフルに8スレッド使ってくれてる。

real 102m50.419s
user 344m53.480s
sys 11m38.870s
9GBというのは、1.5GBフルに使うデカブツjar->dex変換が6個
並列するタイミングがあるということか。


youtenはWindowsPCでのAndroid開発者を応援しています。

コメントする