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
Android Framework Code Readingのしおり ver 1.2
Search
operandoOS
November 10, 2016
Technology
370
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2
operandoOS
November 10, 2016
More Decks by operandoOS
See All by operandoOS
ピープルウエア x スタートアップ
operando
3
4.4k
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
2.1k
EMから見たLinQ
operando
2
260
private spaceについてあれこれ調べてみた
operando
1
470
Flutter ランチ #2
operando
0
250
Flutter ランチ #1
operando
0
200
10XでのZapier活用事例の紹介
operando
0
1.5k
CircleCIでtiming dataに基づいたテスト分割をDartで利用できるようにした話.
operando
3
3.2k
App hibernation🥶
operando
0
440
Other Decks in Technology
See All in Technology
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
280
そのドキュメント、自動化しませんか?
yuksew
1
400
プロダクト開発組織の現在地(Ver.2026/07) / product-organization
kaonavi
0
370
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
470
GoでCコンパイラを作った話
repunit
0
150
なぜ、あなたのAPIは使われないのか? AX時代の設計原則、ガードレール、運用体制
yokawasa
1
200
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.3k
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
880
人とエージェントが高め合う協業設計
kintotechdev
0
740
書籍セキュアAPIについて
riiimparm
0
160
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
300
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
150
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
What's in a price? How to price your products and services
michaelherold
247
13k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
The Cult of Friendly URLs
andyhume
79
7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Fireside Chat
paigeccino
42
4k
So, you think you're a good person
axbom
PRO
2
2.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
380
Ethics towards AI in product and experience design
skipperchong
2
330
Transcript
Android Framework Code Readingͷ͓͠Γ ver 1.2
ඪ
ඪ • ಡΈ࢝ΊΔʹͲ͔͜Β୳͍͍ͤͷ͔Θ͔Δ • Android Frameworkͷίʔυ͕ͳΜͱͳ͘ ಡΊΔΑ͏ʹͳΔ • ͏Androidා͘ͳ͍ (ʆŋωŋ´)
༻ҙ͢Δͷ
༻ҙ͢Δͷ • ͓ΈͷEditor • OpenGrok • https://sites.google.com/site/devcollaboration/codesearch • ΫιίʔυಡΜͰΊ͛ͳ͍ؾ࣋ͪ •
جຊ͜Ε͚ͩ
ಡΈ͍͢ڥΛ࡞Δ • FirefoxͷπϦʔܕλϒͱ͍͏֦ு͕Φεεϝ • https://addons.mozilla.org/ja/firefox/addon/ tree-style-tab/ • ಡΜͰ͍Δίʔυͷϝιουݺͼग़͠ͷ֊ ͱ͔ཧ͍͢͠
ಡΈ͍͢ڥΛ࡞Δ ͜Μͳײ͡ʔ
OpenGrok
OpenGrok • ιʔείʔυΛϒϥβͰӾཡͰ͖Δͷ • methodͷϦϯΫͱ͔షͬͯ͋ͬͯศརʂʂ • AndroidͷιʔείʔυOpenGrokԽͯ͋͠Γ·͢ • ιʔείʔυखݩʹͳͯ͘ಡΊͯศརʂʂ
OpenGrokʹ׳ΕΔ
OpenGrokʹ׳ΕΔ • Full SearchΛࢦఆ͢Δ • File PathΛࢦఆ͢Δ • جຊ্̎ͭͰ͍͍ͩͨOK •
ࠔͬͨΒHelpΛݟ͍ͯํΛϚελʔ͢Δ • http://tools.oesf.biz/android-6.0.0_r1.0/help.jsp
खݩʹίʔυΛμϯϩʔυ͢Δ • શ෦ͷιʔείʔυΛμϯϩʔυ͢Δͷେม • OpenGrok͔ΒFile୯ҐͰμϯϩʔυͰ͖Δ • Α͘ࢀর͢ΔϑΝΠϧμϯϩʔυ͓ͯ͘͠ͱศར • URLͷxrefͱrawʹͯ͠ΞΫηε͢ΔͱBrowser ܦ༝ͰμϯϩʔυͰ͖Δͣ
खݩʹίʔυΛμϯϩʔυ͢Δ http://tools.oesf.biz/android-6.0.0_r1.0/xref/ frameworks/base/core/java/android/app/Activity.java http://tools.oesf.biz/android-6.0.0_r1.0/raw/frameworks/ base/core/java/android/app/Activity.java
ҙ֎ͱखݩʹ͍࣋ͬͯΔιʔείʔυ • Android SDK Manager͔ΒऔಘͰ͖Δͷ • /Applications/Android Studio.app/sdk/sources • /Applications/Android
Studio.app/sdk/extras/ android/support • /Applications/Android Studio.app/sdk/extras/ android/m2repository/com/android/support
खܰʹಡΊͦ͏ͳͱ͜Ζ • frameworks/ • Android Frameworksશൠͷίʔυ • frameworks/base/core/java/ • Android
SDKશൠͷίʔυ
खܰʹಡΊͦ͏ͳͱ͜Ζ • packages/apps/ • γεςϜΞϓϦશൠͷίʔυ • http://tools.oesf.biz/android-6.0.0_r1.0/xref/ packages/apps/Settings/ • SettingsΞϓϦͷίʔυ(Φεεϝʂ)
ʹཱͪͦ͏ͳϦϯΫ·ͱΊͯ·͢ https://github.com/AndroidFrameworkCodeReading/ Android-Framework-Code-Reading
GopenGrok https://github.com/operando/gopen-grok ίϚϯυϥΠϯ͔ΒOpenGrokͷ ݕࡧ͕Ͱ͖Δπʔϧ
GopenGrok https://github.com/operando/gopen-grok $ gopen-grok -s Activity
GopenGrok https://github.com/operando/gopen-grok
GopenGrok Install https://github.com/operando/gopen-grok $ go get -d github.com/operando/gopen-grok $ go
install github.com/operando/gopen-grok
LogcatٯҾ͖
LogcatٯҾ͖ • LogcatʹྲྀΕ͍ͯΔϩάίʔυ্ʹ ॻ͍ͯ͋Δͣ(ಈతͳͷҎ֎ • ௐ͍ͨػೳͬΆ͍ͷ͕ྲྀͯ͠ΔLogcat͔Β ಛఆͷΩʔϫʔυͰݕࡧΛ͔͚Δ
LogcatٯҾ͖ • ྫ͑ɺҎԼͷϩάͷgetDirectorySizeͬͯͲ ͏ͬͯௐͯΔ͔Γ͍ͨʂͱͯ͠…
LogcatٯҾ͖ • ͡ΌͱΓ͋͑ͣʮgetDirectorySizeʯͬͯ ΩʔϫʔυͰOpenGrokݕࡧ͢Δ
ʮgetDirectorySizeʯͷݕࡧ݁Ռ ݟࣄʹͦΕͬΆͷ Ҿ͔͔ͬͬͨ
ίʔυΛݟΔͱ͜Μͳײ͡ • IMediaContaninerServiceͶʔʔ • LogcatʹྲྀΕͯͨͷ 438ߦͷͭ
LogcatٯҾ͖ • ͏·͘ώοτ͢Ε࠷ߴͷٕ • Ͳͷϩά͕ྑͦ͞͏͔ݟۃΊΔͷ৬ਓٕ • LogcatʹྲྀΕ͍ͯΔϝοηʔδ͕੩తͳͷ͔ ಈతͳͷ͔அ͢Δͷ৬ਓٕ
·ͱΊํ
͋ͱͰݟฦ͢Α͏ʹ͜͏ॻ͘ͱ͍͍͔ λΠτϧ ݟग़͠
͋ͱͰݟฦ͢Α͏ʹ͜͏ॻ͘ͱ͍͍͔ Θ͔ͬͨ͜ͱΛ Օॻ͖
͋ͱͰݟฦ͢Α͏ʹ͜͏ॻ͘ͱ͍͍͔ ॏཁͳͱ͜Ζ ίʔυͷURLͱ࣮ࡍͷίʔυΛ ίϐϖͯ͠ॻ͍͓ͯ͘
͋ͱͰݟฦ͢Α͏ʹ͜͏ॻ͘ͱ͍͍͔ • Markdownͱ͔Ͱదʹॻ͘ • ίʔυͷURLΊͬͪΌେࣄ • ॻ͍ͨΒGithubGistʹஔ͍͓ͯ͘ͱ ݕࡧͰָ͖ͯ
JobScheduler-Code-Reading https://github.com/operando/JobScheduler-Code-Reading ·ͱΊํͷࢀߟʹͲ͏ͧʔ
Thanks!!