2010年12月28日

Androidのrepo syncのTips

Androidのソースコードをダウンロードするにはrepo sync を行いますが、

これには相当時間がかかります。

その時間を節約するためのちょっとしたTipsを紹介します。

(English version of this page)



既存のリポジトリからコピーすることでダウンロード量を減らす

もし既存のソース(例えばandroid-2.2_r1.1)をダウンロードしていたならば、そのリポジトリを利用することでダウンロードする量を減らすことができます。

$ mkdir android-2.3.1_r1
$ cd android-2.3.1_r1/
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.1_r1
$ cp -R ../android-2.2_r1.1/.repo/projects .repo/
$ repo sync

既存のリポジトリを上書きしてもかまわない場合は

$ mv android-2.2_r1.1 android-2.3.1_r1
$ cd android-2.3.1_r1
$ repo init -b android-2.3.1_r1
$ repo sync

これはAndroid Buildingのグループから情報を得ました。

how do I switch branches by repo

repo syncを並列で動かすオプション

makeでは並列で動かすジョブの数を指定できる -j というオプションがありますが、同じようなオプションが repo sync にあります。

コマンドラインヘルプで確認してみると

$ repo sync -h
Usage: repo sync [...]

Options:
  -h, --help            show this help message and exit
  -f, --force-broken    continue sync even if a project fails to sync
  -l, --local-only      only update working tree, don't fetch
  -n, --network-only    fetch only, don't update working tree
  -d, --detach          detach projects back to manifest revision
  -q, --quiet           be more quiet
  -j JOBS, --jobs=JOBS  number of projects to fetch simultaneously
  -s, --smart-sync      smart sync using manifest from a known good build

  repo Version options:
    --no-repo-verify    do not verify repo source code
$ 

4本のfetchを同時に走らせる場合は

$ repo sync -j4

これによってダウンロード時間を短縮できますが、ネットワークの帯域を占有しないように気をつけてください。

この-jオプションはtwitterで教えてもらいました。



トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード