ソース管理ツール

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

Git

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

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

Repo

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

Repo ランチャーには、チェックアウトを初期化し、もう 1 つの要素であるフル Repo ツールをダウンロードする Python スクリプトが用意されています。フル Repo ツールは、Android ソースコードのチェックアウトに含まれています。デフォルトで $SRCDIR/.repo/repo/... にあり、ダウンロードした Repo ランチャーから転送されるコマンドを受信します。

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

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

Repo ランチャーを git-repo-downloads からダウンロードしてインストールするには、Repo のインストールをご覧ください。

Gerrit

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

Android Gerrit 審査インターフェースについては、android-review.googlesource.com をご覧ください。また、コード ナビゲーション インターフェースについては、android.googlesource.com をご覧ください。

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

その他のツール

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

Android Debug Bridge(ADB)を使用すると、開発用ワークステーションを Android デバイスに直接接続できるため、パッケージをインストールして変更を評価できます。

Android 10 以降の場合、Android プラットフォーム開発用に IntelliJ with AIDEgen IDE を使用します。

Repo のインストール

Repo をインストールする手順は次のとおりです。

  1. 次のコマンドを実行して、Linux ディストリビューションの公式パッケージを使用します。
      sudo apt-get update
      sudo apt-get install repo
    
    これらのコマンドがシステムで機能しなかった場合(たとえば、パッケージ バージョンが古い場合や、Linux ディストリビューションから入手できる公式パッケージがない場合)は、次のコマンドを使用して Repo を手動でインストールしてください。
    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    
  2. これらのコマンドで一時ファイルがセットアップされ、リポジトリがダウンロードされます。さらに、指定した鍵が必要な鍵と一致していることが確認されます。成功すると、インストールが行われます。

    インストール後、repo version が通常のディレクトリで実行されているときに次のような報告をすることを確認します。(通常のディレクトリとは Repo クライアントの一部ではなく、たとえば、ホーム ディレクトリのことです)。

  3. 次のコマンドを実行します。
  4. repo version
  5. 次のような報告が返されます。
  6. <repo not installed>
    repo launcher version 2.15
    (from /usr/bin/repo)
    
    • repo launcher version 番号の報告が 2.15 以降の場合は、バージョン番号が正しく、インストールが適切であることを示します。
    • (from /usr/bin/repo) はパッケージからのインストールであることを示します。
    • (from /home/<>/bin/repo) は手動インストールであることを示します。

インストールの完了

次: フル Repo ツールのインストールを完了するには、ソースのダウンロード ページの Repo クライアントの初期化をご覧ください。