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
5k
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.2k
Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
star_zero
5
5.8k
Android 14 新機能 / Android 14 Meetup Nagoya
star_zero
1
580
Android 14 と Predictive back gesture / Shibuya.apk #42
star_zero
0
370
Coroutines Test 入門 / Android Test Night #8
star_zero
2
1.1k
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
620
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
560
Other Decks in Technology
See All in Technology
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
180
設計を積み重ねてシステムを刷新する
sansantech
PRO
0
170
JAWS DAYS 2025 アーキテクチャ道場 事前説明会 / JAWS DAYS 2025 briefing document
naospon
0
100
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.8k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
180
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
330
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
360
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
380
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
180
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
100
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
220
クラウド食堂とは?
hiyanger
0
120
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
A Philosophy of Restraint
colly
203
16k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Typedesign – Prime Four
hannesfritz
40
2.5k
Thoughts on Productivity
jonyablonski
69
4.5k
Become a Pro
speakerdeck
PRO
26
5.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Code Review Best Practice
trishagee
67
18k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Embracing the Ebb and Flow
colly
84
4.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のコード取得とビルドは 難しくない • 手元で動かせるといろいろ捗る • チャンスがあればコントリビュート
おわり