Android Framework Code Readingのしおり ver 1.3
まったりAndroid Framework Code Reading #5 https://mandroidfcr.connpass.com/event/53922/
Android Framework Code Readingͷ͓͠Γver 1.3
View Slide
ඪ
ඪ• ಡΈ࢝ΊΔʹͲ͔͜Β୳͍͍ͤͷ͔Θ͔Δ• Android Frameworkͷίʔυ͕ͳΜͱͳ͘ ಡΊΔΑ͏ʹͳΔ• ͏Androidා͘ͳ͍ (ʆŋωŋ´)
༻ҙ͢Δͷ
༻ҙ͢Δͷ• ͓ΈͷEditor• OpenGrok• https://sites.google.com/site/devcollaboration/codesearch• ΫιίʔυಡΜͰΊ͛ͳ͍ؾ࣋ͪ• جຊ͜Ε͚ͩ
ಡΈ͍͢ڥΛ࡞Δ• FirefoxͷπϦʔܕλϒͱ͍͏֦ு͕Φεεϝ• https://addons.mozilla.org/ja/firefox/addon/tree-style-tab/• ಡΜͰ͍Δίʔυͷϝιουݺͼग़͠ͷ֊ͱ͔ཧ͍͢͠
ಡΈ͍͢ڥΛ࡞Δ͜Μͳײ͡ʔ
ಡΈ͍͢ڥΛ࡞Δ• Session Managerͱ͍͏֦ுΦεεϝ• https://addons.mozilla.org/ja/firefox/addon/session-manager/• ։͍ͯΔλϒͷঢ়ଶΛอଘͰ͖Δ
ಡΈ͍͢ڥΛ࡞Δࠓ։͍ͯΔλϒͱ͔Λอଘ
ಡΈ͍͢ڥΛ࡞ΔͲΜͳίʔυಡΜͰΔͷ͔ͱ໊͔લʹ͓ͯ͘͠ͱ ಡΈฦ࣌͢ʹศར
ಡΈ͍͢ڥΛ࡞Δอଘͨ͠ͷ͜Μͳײ͡Ͱ෮ݩͰ͖Δʔ
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.javahttp://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
GopenGrokhttps://github.com/operando/gopen-grokίϚϯυϥΠϯ͔ΒOpenGrokͷ ݕࡧ͕Ͱ͖Δπʔϧ
GopenGrokhttps://github.com/operando/gopen-grok$ gopen-grok -s Activity
GopenGrokhttps://github.com/operando/gopen-grok
GopenGrok Installhttps://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-Readinghttps://github.com/operando/JobScheduler-Code-Reading·ͱΊํͷࢀߟʹͲ͏ͧʔ
Thanks!!