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
1
350
Android Framework Code Readingのしおり ver 1.2
Android Framework Code Readingのしおり ver 1.2
operandoOS
November 10, 2016
Tweet
Share
More Decks by operandoOS
See All by operandoOS
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
1.5k
EMから見たLinQ
operando
2
200
private spaceについてあれこれ調べてみた
operando
1
380
Flutter ランチ #2
operando
0
190
Flutter ランチ #1
operando
0
150
10XでのZapier活用事例の紹介
operando
0
1.3k
CircleCIでtiming dataに基づいたテスト分割をDartで利用できるようにした話.
operando
3
2.9k
App hibernation🥶
operando
0
350
できる!Android Framework Code Reading
operando
2
910
Other Decks in Technology
See All in Technology
WEBサービスを成り立たせるAWSサービス
takano0131
1
200
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
360
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
5.2k
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
AI時代、“平均値”ではいられない
uhyo
3
460
生成AI時代のセキュアコーディングとDevSecOps
yuriemori
0
140
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
410
Click A, Buy B: Rethinking Conversion Attribution in ECommerce Recommendations
lycorptech_jp
PRO
0
120
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.9k
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
200
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.9k
FinOps について (ちょっと) 本気出して考えてみた
skmkzyk
0
180
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Building Adaptive Systems
keathley
44
2.8k
A better future with KSS
kneath
239
18k
The Language of Interfaces
destraynor
162
25k
Building an army of robots
kneath
306
46k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Writing Fast Ruby
sferik
629
62k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Speed Design
sergeychernyshev
32
1.2k
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!!