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
4.9k
AndroidXとAOSP / Cookpad.apk #1
star_zero
August 21, 2018
Tweet
Share
More Decks by star_zero
See All by star_zero
Jetpack Compose の Side-effect を使いこなす / DroidKaigi 2023
star_zero
4
3.9k
Android 14 新機能 / Android 14 Meetup Nagoya
star_zero
1
490
Android 14 と Predictive back gesture / Shibuya.apk #42
star_zero
0
290
Coroutines Test 入門 / Android Test Night #8
star_zero
2
710
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
570
Kotlin 2021 Recap / DevFest 2021
star_zero
3
1.2k
Kotlin Symbol Processing (KSP) を使ったコード生成 / DroidKaigi 2021
star_zero
2
4.9k
What's new Android 12
star_zero
0
510
これからはじめるAndroid開発 / DevFest 2020
star_zero
4
670
Other Decks in Technology
See All in Technology
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
220
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
OpenTelemetry を使ったトレースエグザンプラーの活用 / otel-trace-exemplar
k6s4i53rx
2
630
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
Signals Unleashed: The Full Guide
rainerhahnekamp
0
370
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.5k
NgRx Signal Store
rainerhahnekamp
0
110
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
530
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
120
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
GitHub's CSS Performance
jonrohan
1023
450k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
We Have a Design System, Now What?
morganepeng
42
6.7k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
Done Done
chrislema
178
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Side Projects
sachag
451
41k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
Infographics Made Easy
chrislema
237
18k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.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のコード取得とビルドは 難しくない • 手元で動かせるといろいろ捗る • チャンスがあればコントリビュート
おわり