突然消失するかもしれないブログ

”とつきえブログ”

Androidのソースコードをダウンロードする(1)

2009/02/10 22:09追記

repoコマンドでデフォルトではダウンロードされないソースコードを手動でダウンロードする方法(暫定版)については以下を参照のこと。

Androidのrepoコマンドでデフォルトではダウンロードされないリポジトリをダウンロードする

2008/10/24 20:28追記

本日のAndroidソースコードのサイズは、2.74 GB (2,948,353,766 バイト)。

微妙に増えてます。リビジョンが1.0.6?に上がったようです。


2008/10/24 20:28追記

どうやら無事にダウンロードができたようです!

容量を確認してみたところ、2.74 GB (2,947,281,538 バイト)ですね。

すごいサイズです。


2008/10/24 8:26追記

repo syncを実行してみたところ、ようやく安定して?ダウンロードができるようになったぽいです。スループットは2Mbpsくらい出ているようです。


2008/10/22 18:30追記

あかんですな。WebKitのリポジトリが死んでいる模様・・・。

$ ../bin/repo sync
git.webkit.org[0: 74.86.47.130]: errno=Connection refused
fatal: unable to connect a socket (Connection refused)
error: Cannot fetch platform/external/webkit


2008/10/22追記

どうもrepoコマンド(実体はgit?)がエラーになりますね。

http://source.android.com/known-issues

ここ見ると、問題が続発中・・・w

以下のサイトからWebブラウザでソースコードを参照できるので、しばらくの間はこちらでガマン。

http://android.git.kernel.org/


ひとまずAndroidのソースコードをダウンロードしてきて、ビルドは後回し。

○GitとGnuPGをインストール。

Linux環境でAndroidのソースコードをダウンロードするには、GitとGnuPGが必要。

ということで、Debian lenny化した玄箱Proで、以下を実行。

apt-get install git-core gnupg

○repoをインストール。

repoというのは、Androidが提供しているGitのラッピングするスクリプトらしい。

wget http://android.kernel.org/repo
chmod
+x repo
※repoコマンドにはパスを通しておいて下さい。

○gitリポジトリの初期化

mkdir mydroid
cd mydroid
repo init -u git://android.kernel.org/platform/manifest.git

ここで注意!

gitはgitプロトコルを使用するため、httpのproxyしか用意されていない(しかも、トンネリング設定を許していない)環境では、gitが使えない。

そこで、httpのproxy環境下でgitを使用するには、以下を参考にして、

gitをHTTP Proxy経由で利用したい場合の対処法

Squidの設定を変更した上で、Corkscrewというhttp proxy経由でSSHをトンネリングするためのツールを使用するらしい。(未確認)

○ダウンロード

先ほど作成したmydroidというフォルダに移動して、repo syncを実行。

repo sync

お~次々とファイルがダウンロードされます。

と思ったら、kernel.orgからファイルを落としてくるんですね。Androidと本家のLinuxってどういう関係があるんでしょうか・・・。

Initializing project platform/dalvik …
remote: Counting objects: 6558, done.
remote: Compressing objects: 100% (35Receiving objects:   1% (66/6558), 160.00 KiB | 310 K
remote: Compressing objects: 100% (3525/3525), done.
remote: Total 6558 (delta 2423), reused 6558 (delta 2423)
Receiving objects: 100% (6558/6558), 6.81 MiB | 232 KiB/s, done.
Resolving deltas: 100% (2423/2423), done.
From git://android.kernel.org/platform/dalvik
* [new branch]      master     -> korg/master
* [new branch]      release-1.0 -> korg/release-1.0
* [new tag]         android-1.0 -> android-1.0

と思ったのも束の間。途中でエラーが出てダウンロードが止まります。

Initializing project platform/external/libpcap …

***   Downloading source(s) from a mirror site.     ***
***   If the network hangs, kill and restart repo.  ***

Getting http://android.kernel.org/pub/libpcap-0.9.8.tar.gz
error: Cannot import platform/external/libpcap: checksum mismatch: 29b0e71b7913664617f142fdbf22e3a5a0434f4b expected, 7d4227ea78579803a5562f03e4b63790292caac3 imported
error: Cannot fetch platform/external/libpcap

原因はこれらしい。要するに、python2.4ならエラーが起きないけど、python2.5だと起きるらしく、ただいま修正中のもよう!

http://source.android.com/known-issues

“checksum mismatch” during repo sync

Some, but not all, developers are reporting errors like “Cannot import platform/external/iptables: checksum mismatch: 7226fd9f7f7ebada706f9d040b3924

5ee8123faa” when repo sync pulls in the iptables, pcap, and tcpdump tarballs.  We’ve identified the problem and should have a fix soon.
This problem manifests itself if python2.5 is your default interpreter.  It does not happen with python2.4.

ちなみに、Debian lennyで、apt-get update;apt-get upgradeした直後だと、pythonのバージョンは2.5.2。

python2.4をインストールしてみる。

apt-get install python2.4

これでインストールされるのは2.4.5。/usr/bin/pythonのリンクが/usr/bin/python2.5にはられているので、/usr/bin/python2.4にはり直す。

cd /usr/bin
rm python
ln -s ../python2.4 python

いったんレポジトリのファイルをrmコマンドで手動で削除して、レポジトリの初期化からやり直す。

とりあえず仕掛けたので、寝る!

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。