Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

ソース管理ツール

Android のコードを操作するには、Git(オープンソースのバージョン管理システム)と Repo(Google が構築した Git 上で実行できるリポジトリ管理ツール)を使用する必要があります。レビュー用の変更のアップロードなど、通常の操作の概要については、ソース管理ワークフローをご覧ください。

Git

Git は、複数のリポジトリに分散する大規模なプロジェクトへの対応を目的に設計されています。Android では、ローカルでのブランチ作成、コミット、差分の取得、編集などのローカル操作に Git を使用します。Android プロジェクトを立ち上げる際の課題として、コミュニティの外側に対して最適なサポートを提供するにはどうすればいいかということがありました。個人の趣味のコミュニティからコンシューマー向けデバイスを大量生産する大手 OEM までが対象でした。コンポーネントの置き換えが可能で、Android との関連がなくとも独自に利用が継続されるコンポーネントが必要でした。そこで選んだのが分散リビジョン管理システムで、いくつかの候補の中から Git を採用することにしました。

Git の詳細については、Git のドキュメントをご覧ください。

Repo

Repo は、Git リポジトリの統合(必要な場合)、Gerrit リビジョン管理システムへのアップロード、Android 開発ワークフローの部分的な自動化を行います。

Repo は 2 つの要素で構成されています。1 つは Repo Launcherで、git-repo-downloads から ダウンロードしてインストールします。Repo ランチャーは、チェックアウトの初期化方法を識別する Python スクリプトです。このスクリプトによって、もう 1 つの要素であるフル Repo ツールをダウンロードすることができます。このツールは、Android ソースコードのチェックアウトに含まれています。フル Repo ツールは、デフォルトで $SRCDIR/.repo/repo/... にあり、ダウンロードした Repo ランチャーから転送されるコマンドを受信します。

Repo は Git に代わるものではなく、Android 向けに Git を使いやすくするためのものです。Repo はマニフェスト ファイルを使用して、Git プロジェクトを Android スーパープロジェクトに集約します。repo コマンドは Python 実行スクリプトであり、パス内のどこにでも配置できます。Android ソースファイルを操作する際、ネットワークをまたがる操作に Repo を使用します(たとえば、単一の Repo 作業ディレクトリを使用します)。

ほとんどの場合、Repo の代わりに Git を使用できます。あるいは、Repo と Git のコマンドを組み合わせて複雑なコマンドを作成することもできます。ただし、ネットワークをまたがる基本的な操作を行う場合は、Repo を使用した方がはるかに作業が容易になります。Repo の詳細については、Repo コマンド リファレンスRepo の README、Repo で有効にできるプリアップロード フック(テスト)、AOSP の一般的な文書などを参照してください。

その他のツール

Gerrit は、Git を使用するプロジェクトを対象としたウェブベースのコード審査システムです。Gerrit を利用することで、すべての認定ユーザーが変更内容を送信できるようになり、Git の使用が一元化されます(変更内容は、コード審査を通過すると自動的にマージされます)。また、Gerrit を利用すると、変更箇所がブラウザ内で並べて表示され、インライン コメントも可能になるため、審査が容易になります。

Android ソースコード検索は、ダウンロードすることなく AOSP 全体を検索できるようにします。ソースコード検索を利用することで、AOSP のソースコードを表示したり、オープンソース ブランチを切り替えたり、相互参照をたどったりすることができます。詳細については、Google Developers サイトにあるソースコード検索のドキュメントをご覧ください。

Android Studio は Android アプリ開発用の公式の統合開発環境(IDE)です。

Repo のインストール

Repo は、Android で Git を使いやすくするツールです。その用途や関連ドキュメントへのリンクについては、上記の Repo の概要をご覧ください。

Repo は 2 つの要素で構成されています。1 つはインストールするランチャー スクリプトです。これは、もう 1 つの要素であるソースコードのチェックアウトに含まれる完全な Repo ツールと通信します。Repo をインストールする手順は次のとおりです。

  1. bin/ ディレクトリがホーム ディレクトリにあり、パスに含まれていることを確認します。

    mkdir ~/bin
    PATH=~/bin:$PATH
    
  2. Repo ランチャーをダウンロードして、実行可能であるか確認します。

    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo
    
  3. 必要に応じて、ランチャーと Google の署名が一致しているか検証します。

    gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ~/bin/repo
    

以前の Python 2 システム用の古い Repo

Python 3.6 より古いシステムを使用している場合は、Python 2.7 に対応している古いバージョンの Repo ランチャーをダウンロードしてみてください。この旧バージョンは無期限で利用できるわけではありませんが、システムをアップグレードするまでの間、暫定的に役立つ場合があります。

curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
chmod a+x ~/bin/repo