AOSPにあるandroidxをビルドします。まだmavenに上がっていないライブラリを見るためにやりました。
Android Code Searchとか、githubにも公開されてもいますが、今後見ることもありそうなので手元でビルドしてみました。
githubをクローンすれば行けるかと思いましたが、そうではなく、ひと手間必要で、
PCを変えたときとかにまたやるかもしれないので、メモしておきます。
見た記事
公式
Getting started
AOSP AndroidX Contribution Guide(これは古いかも?)
こちらも参考にしました。
AOSPのAndroidX開発環境メモ #JetpackCompose - Qiita
ほとんどこれを見ればよいかと思いますが、少しだけ差分と、自分がポカしたときのメモがあります。
ほとんど一緒です。
githubのREADME.mdに手順は書かれていません。
手順
repoコマンドを使う必要があります。
repoをインストールします。mac+homebrewなので、下記コマンドを使いました。
brew install repo
公式ではcurlでインストールしている例が紹介してありますが、
homebrewでパスを通す必要もありません。
あとfish使っているので、下記を~/.config/fish/config.fish
に追加。
function repo
command python3 /opt/homebrew/bin/repo $argv
end
sourceコマンドか、ターミナルを開き直して反映します。
repoコマンド実行
プロジェクトを入れるディレクトリを作ってから、下記を実行。
repo init -u https://android.googlesource.com/platform/manifest -b androidx-main --partial-clone --clone-filter=blob:limit=10M
repo sync -c -j32
j8というのはスレッドの数みたいです。
オプションの中身は公式のガイドとか、helpを見ると出てくると思います。
焦らずに一つずつコマンド実行したほうがよいです。
syncは数時間かかるかと思います。場合によってはもっとかかるかも。
あとめちゃサイズが大きいです。60GBくらいありました、、
あとrepo syncするときは注意が必要で、ネットワーク不良になると怪しい気がします。
(もしかすると途中でMacがスリープしたのかも?影響あるかわかりませんが)
まぁそのときエラー結構出ていましたがスルーしてしまっていました←
そのあとビルドしようとしても依存解決に失敗して、どうにもなりませんでした。
別のディレクトリ作ってrepo init
からやり直しました。
ビルド
ターミナルで、frameworks/supportのディレクトリで下記を実行します。
./studiow main
Android Studioが自動で開く。
mainというのはandroidxのcompose以外のもとをビルドします。
vi ./studiow
とかで開くと、何を渡せばいいか書かれています。
たとえば./studiow compose
とかならcomposeがビルドできます。