Help us understand the problem. What is going on with this article?

AndroidX をソースからビルドする

More than 1 year has passed since last update.

Jetpack AndroidX (旧サポートライブラリとアーキテクチャー コンポーネント) をソースコードからビルドする方法です。単に AndroidX を利用する場合は 公式ドキュメント を参照してください。

Jetpack Compose を試すためには、現状 AOSP からソースコードを取得してビルドする必要があります。以下の手順に沿ってプロジェクトを開けばデモ アプリを実行したり、自分でコードを追加して試したりすることができます。

リポジトリをダウンロードする

AOSP からソースコードをダウンロードするには Repo というツールを使います。Repo は複数の Git リポジトリをまとめ、全体で一つの Repo リポジトリとして扱うためのツールです。Repo コマンドをインストールしましょう。

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

AOSP には AndroidX のビルド・開発に必要な Git リポジトリだけをまとめた Repo ブランチ androidx-master-dev が存在します。ソースコードは以下のようにして取得できます。

$ mkdir androidx-master-dev && cd androidx-master-dev
$ repo init -u https://android.googlesource.com/platform/manifest \
            -b androidx-master-dev
$ repo sync -c -j9

プロジェクトを開く

AndroidX の開発は Android Studio で行っています。開発者全員の Studio のバージョンを揃えるためのスクリプトが用意されているので、それを使って Android Studio を起動しましょう。

$ cd androidx-master-dev/frameworks/support
$ ./studiow

Jetpack Compose のプロジェクトを開くには、他のコンポーネントとは別の特殊な Android Studio が必要です。同じ名前のスクリプトが ui ディレクトリに含まれているので、そちらを実行しましょう。

$ cd androidx-master-dev/frameworks/support/ui
$ ./studiow

デモ プロジェクトを実行する

AndroidX のプロジェクトにはいくつかのデモ アプリが含まれています。これらは主に内部の開発者のデバッグ・テスト用ですが、API の使い方の参考にはなるでしょう。いずれも Android Studio から実行できます。

  • support-v4-demos
  • support-v7-demos
  • support-transition-demos
  • support-emoji-demos
  • など

ビルドは Android Studio からもできます。コマンドラインで Gradle を使ってもビルドできます。

# ビルド
$ ./gradlew assembleDebug

# テスト
$ ./gradlew support-transition:connectedCheck

コントリビュートする

コントリビュートする前に イシュー トラッカー に不具合報告や機能要望を登録するのがいいでしょう。

GitHub で言うところのプル リクエストは、AOSP では CL (Change list) と呼ばれます。以下のようにして CL を送ることができます。

$ cd frameworks/support

# トピック ブランチを作る
$ repo start my-change .

# ファイル編集、デバッグ、テスト

# コミットは git コマンドで
$ git add .
$ git commit

# Gerrit にアップロード
$ repo upload .

# レビューでコメントがついたら、適宜修正してアップロードし直す
$ git add .
$ git commit --amend
$ repo upload .

コミット メッセージには自動で Change-Id: 〜 という行が付きます。この行を変更してはいけません。また、どのテストを実行したかを示す Test: {テスト クラス名など} を Change-Id の上の行に追加してください。イシュー トラッカーにバグが登録されている場合 Bug: {バグ番号} のようにすることで関連付けることができます。

以上。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away