Upgrade to Pro — share decks privately, control downloads, hide ads and more …

まったりAndroid Framework Code Reading #4

operandoOS
November 10, 2016

まったりAndroid Framework Code Reading #4

まったりAndroid Framework Code Reading #4

operandoOS

November 10, 2016
Tweet

More Decks by operandoOS

Other Decks in Technology

Transcript

  1. ·ͬͨΓAndroid

    Framework Code Reading #4

    View Slide

  2. ձ৔આ໌ + ॾ஫ҙ
    • Wi-Fi͋Γ·͢
    • ҿ৯ՄͰ͢(͓՛ࢠ༻ҙ͠·ͨ͠ɻ৯΂ͯͶ˒)
    • ్தͰ͓ؼΓʹͳΔࡍʹ͸ɺࢲʹҰ੠͔͚͍ͯͩ͘͞
    • ͓ؼΓͷࡍʹɺೖؗڐՄূʹฐࣾ୲౰ࣾһͷαΠϯ
    ͕ඞཁͱͳ͓ͬͯΓ·͢ɻ

    ͝ڠྗ͓ٓ͘͠ئ͍ਃ্͛͠·͢ɻ

    View Slide

  3. λΠϜςʔϒϧ

    View Slide

  4. ϋογϡλά
    #m_android_fcr

    View Slide

  5. About Me
    Shinobu Okano
    @operandoOS
    Mercari, Inc.
    Souzoh, Inc.
    Code Readingָ͍͠☺

    View Slide

  6. Android Framework??

    View Slide

  7. Android Frameworkͱ͸ʁʁ
    • ͬ͘͟ΓݴͬͯAndroidΛߏ੒͍ͯ͠Δ΋ͷ
    • LayerͰͳΜͱͳ͘෼͔Ε͍ͯΔ
    • ͱʹ͔͘޿͍ɾσΧΠɾ΍͹͍

    View Slide

  8. Android Frameworkͱ͸ʁʁ

    View Slide

  9. Android Frameworkͱ͸ʁʁ
    ΞϓϦ։ൃऀ͕

    ΧδϡΞϧʹ

    ಡΊΔͷ͸͜͜Β΁Μ

    View Slide

  10. Android Frameworkͱ͸ʁʁ
    ΞϓϦ։ൃऀ͕

    ΧδϡΞϧʹ

    ಡΊΔͷ͸͜͜Β΁Μ
    https://source.android.com/security/
    Source :

    View Slide

  11. ·ͬͨΓAndroid
    Framework Code Reading??

    View Slide

  12. Code Readingͷ໨త

    View Slide

  13. Code Readingͷ໨త
    • AndroidͷιʔείʔυΛಡΜͰ։ൃ౳ʹ໾ཱͯΔ
    • ΧδϡΞϧʹ·ͬͨΓ৭ΜͳίʔυΛಡΜͰ

    ੒Ռ΍஌ࣝΛڞ༗Ͱ͖Ε͹࠷ߴ

    View Slide

  14. Code Reading Q&A

    View Slide

  15. Code Reading Q&A
    Q. SDKͷίʔυͰ΋OK??
    A. ΋ͪΖΜOK!
    Q. ϥΠϒϥϦͷίʔυͰ΋OK??
    A. ΋ͪΖΜOK!
    Q. HAL΍KernelɺARTͰ΋OK??
    A. େ׻ܴ!

    View Slide

  16. Code Readingͷ੒Ռ

    View Slide

  17. Code Readingͷ੒Ռ
    • Github Organizationʹ·ͱΊ͍ͯ͘
    • https://github.com/AndroidFrameworkCodeReading
    • ͬ͘͟Γͷ੒ՌͰOK(MarkdownͰͬ͘͟Γͱ͔)
    ※͖ͪΜͱͨ͠੒ՌΛڧ੍͢ΔΘ͚͡Ό͋Γ·ͤΜ

    View Slide

  18. ษڧձͰͷ΍ΓͱΓͳͲͳͲ…

    View Slide

  19. ษڧձͰͷ΍ΓͱΓͳͲͳͲ…
    • Gitter༻ҙͯ͠·͢ʂ(୭Ͱ΋ࢀՃͰ͖·͢)
    • https://gitter.im/AndroidFrameworkCodeReading/CodeReadingHistory
    • ࢒͓͖͍ͯͨ͠΍ΓͱΓ,ؾʹͳͬͨ͜ͱ
    • ੒Ռ / ڞ༗͍ͨ͜͠ͱ,ͳͲͳͲ…
    • Φʔϓϯͳ׆ಈͷͨΊGitter͝ར༻͍ͩ͘͞ʂ

    View Slide

  20. ·ͬͨΓAndroid Framework Code Reading
    ʮ΋ͬͱৄ͘͠ʂʯ͸ͪ͜ΒΛಡΜͰ͍ͩ͘͞ʂ
    http://hack-it-iron.hatenablog.com/entry/2015/06/11/143629
    ※ϙΤϜͰ͢

    View Slide

  21. ·ͬͨΓAndroid
    Framework Code Reading#4
    ཪςʔϚ

    View Slide

  22. Android N ಡ΋͏!

    View Slide

  23. Android N
    • Multi-window Support
    • Doze on the Go
    • Background Optimizations
    • Data Saver
    • Vulkan API
    • Quick Settings Tile API
    • Locales and Languages
    • VR Support
    • etc…

    View Slide

  24. OpenGrok - Android N
    http://tools.oesf.biz/android-7.0.0_r1.0/

    View Slide

  25. Android 7.0 for Developers
    https://developer.android.com/about/
    versions/nougat/android-7.0.html

    View Slide

  26. API Differences between 23 and 24
    https://developer.android.com/sdk/
    api_diff/24/changes.html

    View Slide

  27. Android 7.1 for Developers
    https://developer.android.com/preview/
    api-overview.html
    ※Preview͸version͝ͱʹଘࡏ͠ͳ͍ͷͰͦͷ͏ͪ಺༰มΘΓ·͢

    View Slide

  28. Android N Code Reading
    https://github.com/AndroidFrameworkCodeReading/
    Android-N-Code-Reading
    ঺հͨ͠ϦϯΫ͸Լͷͱ͜Ζʹ·ͱΊͯ·ʔ͢

    View Slide

  29. ͳʹಡ΋͏͔ͳʔ
    • ͳʹΛಡΉͷ͔ܾΊͯͩ͘͞ʔ͍ʂ
    • ͬ͘͟ΓͰOK
    • ୭͔ͱ૬ஊͨ͠ΓɺҰॹʹಡΜͩΓͰ΋OK

    View Slide

  30. ྫ͑͹…
    • Intentͷ࢓૊ΈΛ஌Γ͍ͨʂ
    • Storageͷ࢓૊ΈΛ஌Γ͍ͨʂ
    • JobSchedulerͷ࢓૊ΈΛ஌Γ͍ͨʂ
    • ͱʹ͔͘AndroidΛյ͍ͨ͠ʂ
    • ͱ͔ͱ͔…

    View Slide

  31. ͳʹಡΉ͔ܾ·ͬͨΒ
    • ࠷ޙ੒ՌΛ·ͱΊΔ࣌ͷͨΊʹɺͳʹಡΉ͔Λ
    Twitter or Gitterʹॻ͍͍ͯͩ͘͞
    • ޙ೔੒ՌΛ·ͱΊͨϦϯΫ౳ΛTwitter or Gitter
    ʹॻ͍͍͚ͯͨͩΕ͹ɺӡӦͷํͰGithubʹ

    ·ͱΊ·͢ʂ

    View Slide

  32. ͜Μͳײ͡Ͱ·ͱΊ·͢
    https://github.com/AndroidFrameworkCodeReading/CodeReadingHistory/wiki/%E3%81%BE
    %E3%81%A3%E3%81%9F%E3%82%8AAndroid-Framework-Code-Reading-%233

    View Slide

  33. Enjoy Code Reading!!

    View Slide