Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AndroidXとAOSP / Cookpad.apk #1
Search
star_zero
August 21, 2018
Technology
1
5.1k
AndroidXとAOSP / Cookpad.apk #1
star_zero
August 21, 2018
Tweet
Share
More Decks by star_zero
See All by star_zero
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1.4k
Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
star_zero
5
6.2k
Android 14 新機能 / Android 14 Meetup Nagoya
star_zero
1
610
Android 14 と Predictive back gesture / Shibuya.apk #42
star_zero
0
400
Coroutines Test 入門 / Android Test Night #8
star_zero
2
1.2k
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
650
Kotlin 2021 Recap / DevFest 2021
star_zero
3
1.3k
Kotlin Symbol Processing (KSP) を使ったコード生成 / DroidKaigi 2021
star_zero
2
5.2k
What's new Android 12
star_zero
0
580
Other Decks in Technology
See All in Technology
GCASアップデート(202506-202508)
techniczna
0
250
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
240
夢の印税生活 / Life on Royalties
tmtms
0
280
Backboneとしてのtimm2025
yu4u
4
1.4k
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
570
帳票Vibe Coding
terurou
0
140
OpenAPIから画面生成に挑戦した話
koinunopochi
0
150
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
130
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Designing for Performance
lara
610
69k
Designing for humans not robots
tammielis
253
25k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Speed Design
sergeychernyshev
32
1.1k
How to train your dragon (web standard)
notwaldorf
96
6.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Transcript
AndroidX と AOSP Cookpad.apk #1
About me • Kenji Abe • 2018/07入社 • メディアプロダクト開発部 •
Twitter: STAR_ZERO
話すこと • AndroidXとAOSPにざっくりと ‣ ソースコードや履歴をみる ‣ コード取得とビルド ‣ パッチについて
AndroidX
AndroidX • 新しいパッケージ • Support Library, Architecture Componentsなどが移行 • android.supportは28.0.0が最後
の予定
AOSP
AOSP • Android Open Source Project • OSやライブラリなどのソースコード • Gerritによるコードレビュー
• repoツールによるリポジトリ管理
AndroidX + AOSP
AndroidXがAOSPに公開 https://android-developers.googleblog.com/2018/07/androidx-development-is-now-even-better.html
AndroidX + AOSP • ソースコードが見れる • 変更履歴が見れる • DLして手元でビルド、実行できる •
パッチを送れる
ソースコードをみる
ソースコード https://android.googlesource.com/platform/frameworks/support/
None
変更履歴をみる
変更履歴 • gitのログ • Gerritの履歴 ‣ 送られたパッチ ‣ コードレビュー
Gerrit https://android-review.googlesource.com/q/status:open
Gerrit
Gerrit
Gerrit
コードのダウンロード ビルドと実行
コードのダウンロード • repoツールが必要 ‣ https://source.android.com/setup/ build/downloading $ curl https://storage.googleapis.com/git-repo-downloads/repo >
~/bin/repo $ chmod a+x ~/bin/repo
コードのダウンロード $ repo init \ -u https://android.googlesource.com/platform/manifest \ -b androidx-master-dev
$ repo sync -j8 -c
ビルドと実行 $ cd frameworks/support $ ./gradlew createArchive // gradle maven
{ url 'path_to/out/host/gradle/frameworks/support/build/support_repo' }
Android Studioで開く frameworks/supportをASで開くだけ
いろいろ捗る • ASで開くとコードが読みやすい • 自由に修正できる ‣ ログを埋め込み ‣ コード書き換え •
リリース前の機能を試せる
パッチ
パッチ • 受け付けてくれるパッチ ‣ バグ修正(Issue Trackerが必要) ‣ スペルミス ‣ ドキュメント更新
‣ カバーできてなかった箇所の新テスト
パッチ • パッチはChangeList (CL)と呼ばれる • 1CLで1Commit • パッチの修正は git commit
--amend • 参考 ‣ https://qiita.com/yuichi_araki/items/a8db45e5aa1daad8152e
パッチを送る $ cd /path_to/frameworks/support/ # ブランチ作成 $ repo start my_patch
. # 修正... $ git add . $ git commit # パッチ送信 $ repo upload --current-branch .
コントリビュート
まとめ
まとめ • AndroidXのコード取得とビルドは 難しくない • 手元で動かせるといろいろ捗る • チャンスがあればコントリビュート
おわり