Android
aosp
SupportLibrary

サポート ライブラリをビルドする

Android のサポートライブラリをビルドする方法です。単にサポート ライブラリを利用するためには必要ありません。玄人向けの情報です。

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

$ mkdir aosp-support && cd aosp-support
$ repo init -u https://android.googlesource.com/platform/manifest \
            -b ub-supportlib-master
$ repo sync -c -j9

Android Studio でパスに aosp-support/frameworks/support を指定すればサポート ライブラリすべてが入ったプロジェクトを開くことができます。なお、Architecture Components のプロジェクトはパスに aosp-support/frameworks/support/app-toolkit を指定することで開くことができます。

サポート ライブラリのプロジェクトには、モジュールとしてサンプル アプリが含まれています。Android Studio から実行できます。

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

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

# ビルド
$ ./gradlew assembleDebug

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

CL (GitHub で言うところの Pull Request のようなもの) は今のところバグフィックスのみ受け付けています。API の変更を含む CL は技術的制約により受け付けていません。イシュー トラッカー に機能要望を登録してください。

$ cd frameworks/support

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

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

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

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

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

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

以上。