$30 off During Our Annual Pro Sale. View Details »

Support Android 9 Pie

operandoOS
October 23, 2018

Support Android 9 Pie

operandoOS

October 23, 2018
Tweet

More Decks by operandoOS

Other Decks in Technology

Transcript

  1. Support

    Android 9 Pie
    note engineer meetup #1

    View Slide

  2. About Me
    • Shinobu Okano
    • piece of cake, inc.
    • 2018 / 07 Join
    • Mobile Engineer
    • @operandoOS
    • note : operando_os

    View Slide

  3. note AndroidνʔϜʹ͍ͭͯ
    • νʔϜͱݴ͑Ͳɺݱࡏ̍ਓ
    • Զ͕3ਓ෼ʹͳΔ…
    • ੒௕ͷظ଴͔͠ͳ͍νʔϜͰ͢ʂ

    View Slide

  4. ։ൃΞϓϩʔν

    View Slide

  5. https://note.mu/laprasdrum/n/nab0b64f3fa4b

    View Slide

  6. ͱ͸͍͑…
    • ϦχϡʔΞϧ·ͰݱߦͷΞϓϦ͕Ξοϓσʔτ

    ͞Εͳ͍͜ͱ͸͓٬༷ͱͯ͠͸خ͘͠ͳ͍
    • Ξοϓσʔτ͕ͳ͍ = վળ͞Εͳ͍ + ΋͏

    ։ൃࢭ·ͬͯΔͷ͔ͳʁͱ͍͏ෆ҆
    • ΞϓϦΛ࢖ͬͯΔ͓٬͞·ͷ͜ͱ

    ๨Εͯͳ͍Αʂͱ͍͏ελϯε͸େࣄ

    View Slide

  7. iOSͱAndroidͰ։ൃΞϓϩʔνΛม͑Δ
    • iOSͱAndroidͰ͸։ൃ؍఺ɺΞϓϦͷػೳ΍

    ఏڙͰ͖ΔମݧͳͲͰ՝୊͕ҧ͏
    • ՝୊͕ҧ͏ͳΒͦΕͧΕ࠷దͳΞϓϩʔνͰ

    ΍Δͷ͕ϕετ
    • Android͸͙͢ϦϦʔεͰ͖Δ͠

    ʮ·ͣ͸ૉૣ͘ࢼͦ͏ʯͷࢹ఺

    View Slide

  8. note AndroidΞϓϦ
    աڈ3ϲ݄ͷऔΓ૊Έ

    View Slide

  9. ԿΛ͖͔ͯͨ͠
    • ࡉ͔͍࢖͍উखͷվળ + ෆ۩߹मਖ਼
    • Ϋϥογϡ཰ͷվળ
    • Push௨஌Λ෮׆ͤ͞Δ(ྦͳ͠ʹ͸ޠΕͳ͍)
    • ϦϑΝΫλϦϯά?
    • ͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ

    View Slide

  10. Ϋϥογϡ཰ͷվળ

    View Slide

  11. ϦϑΝΫλϦϯά?
    • ͱʹ͔͍ͬ͘ͺ͍΍Γ·ͨ͠
    • ?͕͍ͭͯΔͷ͸ɺ࡯͍ͯͩ͘͠͞...
    • ݱࡏ ୈೋ஄͕ऴΘͬͨͱ͜ΖͰ

    ·ͩ·ͩଓ͖·͢

    View Slide

  12. ͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ
    • Android OରԠ ✅
    • Android 9 PieରԠ ✅
    • GCM͔ΒFCM΁ͷҠߦ

    View Slide

  13. ͍͔ͭ΍Βͳ͍ͱ͍͚ͳ͍͜ͱ
    • Android OରԠ ✅
    • Android 9 PieରԠ ✅
    • GCM͔ΒFCM΁ͷҠߦ

    View Slide

  14. ԿΛҙ͔ࣝͨ͠
    • վળͨ͠΋ͷΛͳΔ΂͘ૣ͘ϦϦʔε͢Δ
    • Ή΍ΈʹίʔυΛݟͳ͍ɺॻ͔ͳ͍
    • ίʔυ͸ಡ·ͣɺΞϓϦΛͱʹ͔͘৮Δ
    • ՝୊Λݟ͚ͭΔ࣌ؒΛଟ͘औΔ
    • ̍ਓ͔ͩΒͦ͜΍Δ΂͖͜ͱ͸ૣΊʹ΍͓ͬͯ͘

    View Slide

  15. Support Android 9 Pie

    View Slide

  16. ͜ͷࢿྉͰͷSupport Android 9 Pieͱ͸
    • Android 9ʹΑΔ࢓༷มߋͰɺΞϓϦ͕

    ڧ੍ऴྃ͠ͳ͍͜ͱ
    • ΞϓϦͷtargetSdkVersionΛ28ʹ͢Δ

    View Slide

  17. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    ࠓޙͷ Google Play ͰͷΞϓϦͷ

    ηΩϡϦςΟ͓ΑͼύϑΥʔϚϯε
    ͷվળʹ͍ͭͯ
    https://developers-jp.googleblog.com/
    2017/12/improving-app-security-and-
    performance.html

    View Slide

  18. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    “2018೥ͷޙ൒ΑΓɺPlayͰ͸ɺ৽͍͠
    ΞϓϦ΍ΞϓϦͷΞοϓσʔτ͸࠷৽ͷ
    Android APIϨϕϧΛλʔήοτʹࢦఆ͢
    Δ͜ͱ͕ٛ຿͚ͮΒΕ·͢ɻ”

    View Slide

  19. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    “͜Ε͕ඞਢͱͳΔͷ͸ɺ৽نΞϓϦ͸
    2018೥8݄ɺطଘΞϓϦͷΞοϓσʔτ
    ͸2018೥11݄Ͱ͢ɻ”

    View Slide

  20. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    “2018೥11݄:طଘͷΞϓϦͷΞοϓσ
    ʔτͰɺλʔήοτAPIϨϕϧ26Ҏ͕߱
    ඞਢʹͳΓ·͢ɻ”

    View Slide

  21. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    • ཁ͸ɺtargetSdkVersionΛ26ʹͯ͠

    Android OରԠ͠ͳ͍ͱΞϓϦͷΞοϓσʔτ͕
    Google PlayͰ഑৴Ͱ͖ͳ͘ͳΔΑͬͯ͜ͱ

    View Slide

  22. ͦ΋ͦ΋ͳͥSupport͢Δͷ͔ʁ
    “2019೥Ҏ߱:ຖ೥ɺtargetSdkVersionͷཁ݅
    ্͕͕Γ·͢ɻAndroidͷ֤σβʔτϦϦʔε
    ͷޙ1೥Ҏ಺ʹɺ৽͍͠ΞϓϦͱΞϓϦͷΞοϓ
    σʔτ͸ɺରԠ͢ΔAPIϨϕϧҎ߱ʹλʔήο
    τΛࢦఆ͢Δ͜ͱ͕ٛ຿͚ͮΒΕ·͢ɻ”

    View Slide

  23. ͭ·Γ...
    • ૣΊʹtargetSdkVersionΛ্͛ͯɺ৽͍͠OS
    όʔδϣϯ޲͚ͷରԠΛ͓͍ͯͨ͠΄͏͕͍͍
    • Ξφ΢ϯε͕ग़ͯ΋ԕ͍ઌͷ͜ͱʹײͯ͡

    ରԠ͢Δؾ͕ى͖ͳ͍৺ཧ
    • ظݶ͕͍ۙͮͯٸ͍ͰରԠ͢ΔͱࣄނΓ΍͍͢

    View Slide

  24. ରԠͷ೉қ౓͸ΞϓϦʹΑͬͯ·ͪ·ͪ
    • ࢖ͬͯΔػೳɺఏڙͯ͠Δ࢓૊ΈͳͲͰ

    ରԠͷ೉қ౓͕େ͖͘มΘΔ
    • ʮ࢖͍ͬͯͨػೳ͕͍͖ͳΓେมͳ͜ʹʂʁʯ
    ͕ΘΓͱى͜Δ
    • ΞϓϦΤϯδχΞ͚ͩͰ͸ղܾͰ͖ͳ͍มߋ΋
    ى͖Δ

    View Slide

  25. Android O Support Pull Request
    • ͦͦ͜͜ରԠ͢Δ͜ͱ͕͋ͬͨ
    • ίʔυ΋ͦͦ͜͜ॻ͍ͨ

    View Slide

  26. Android Pie Support Pull Request
    • ରԠ͢΂͖͜ͱ͕গͳ͔ͬͨ
    • ΄΅΄΅ίʔυॻ͍ͯͳ͍

    View Slide

  27. ·ͣԿ͔Β࢝ΊΔ͔
    • ެࣜυΩϡϝϯτ΍Android Developers
    BlogΛख़ಡ
    • targetSdkVersionʹؔ܎ͳ͘มߋ͞ΕΔಈ࡞
    targetSdkVersionʹؔ܎ͯ͠มߋ͞ΕΔಈ࡞

    ͦΕͧΕΛཧղ͢Δ

    View Slide

  28. ·ͣԿ͔Β࢝ΊΔ͔
    • Android 9ؔ࿈ͳΒҎԼͷυΩϡϝϯτ͕ख़ಡର৅
    • https://developer.android.com/about/versions/
    pie/android-9.0-changes-all
    • https://developer.android.com/about/versions/
    pie/android-9.0-changes-28
    • Android Developers Blogʹ΋Android 9޲͚ͷ

    ղઆهࣄ͕͍͔ͭ͋͘ΔͷͰɺ߹ΘͤͯಡΜͰ͓͖͍ͨ

    View Slide

  29. ·ͣԿ͔Β࢝ΊΔ͔
    • ख़ಡͯࣗ͠਎ͷΞϓϦʹӨڹͦ͠͏ͳൣғʹ
    Ί΅͠Λ͚ͭΔ
    • ΞϓϦ͚ͩͰ׬݁͠ͳ͍มߋ͸ૣΊʹؔ܎ऀ
    ʹҰ੠͔͚͓ͯ͘

    View Slide

  30. ݸਓతʹ΍͹ͦ͏ͱࢥͬͨ
    Android 9Ͱมߋ͞ΕΔಈ࡞

    View Slide

  31. Power management
    • App standby bucketsͷಋೖ
    • Battery saver improvements
    • https://developer.android.com/
    about/versions/pie/power

    View Slide

  32. App standby buckets
    • ΞϓϦͷ࢖༻ස౓ʹΑͬͯɺ5ͭͷpriority
    bucketsʹΞϓϦ͕ৼΓ෼͚ΒΕΔ࢓૊Έ
    • priority͕௿͍bucketʹৼΓ෼͚ΒΕΔ΄Ͳ

    ΞϓϦʹಈ࡞੍ݶ͕͔͔Δ

    View Slide

  33. Power management

    View Slide

  34. Power management
    • Battery life࠷దԽʹΑΓى͜Δ੍ݶͷ·ͱΊ
    • Power management restrictions
    • https://developer.android.com/topic/
    performance/power/power-details

    View Slide

  35. App standby buckets
    • ͲͷbucketʹׂΓৼΒΕΔ͔ͷϩδοΫ͸
    มߋ͞ΕΔՄೳੑ͕͋Δ͠ɺϝʔΧʔಠࣗͰ
    มߋͰ͖ΔʁΒ͍͠
    • ΞϓϦ͸ͱʹ͔͘ͲͷbucketʹׂΓৼΒΕ
    ͯ΋ɺ͔ͬ͠Γಈ࡞͢ΔΑ͏ʹ࣮૷͢Δ

    View Slide

  36. Power management

    View Slide

  37. Restrictions on use of non-
    SDK interfaces
    https://speakerdeck.com/operando/android-p-
    restrictions-on-non-sdk-interfaces-1

    View Slide

  38. Restrictions on use of non-
    SDK interfaces
    • ެࣜυΩϡϝϯτ
    • https://developer.android.com/about/
    versions/pie/restrictions-non-sdk-
    interfaces

    View Slide

  39. Network TLS enabled by default
    • httpͰͷ௨৴͕σϑΥϧτෆՄೳʹͳΔ
    • iOSͰݴ͏ͱ͜ΖͷATS(App Transport Security)
    • ಈ࡞֬ೝͨ͠ײͩ͡ͱWebViewʹ΋

    ద༻͞ΕͯΔؾ͕͢Δ

    View Slide

  40. Android 9 SupportͰnoteΞϓϦ͕

    Өڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠΋ͷ
    • targetSdkVersionʹؔ܎ͳ͘มߋ͞ΕΔಈ࡞
    • Power management
    • Limited access to sensors in background
    • Restrictions on use of non-SDK interfaces

    View Slide

  41. Android 9 SupportͰnoteΞϓϦ͕

    Өڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠΋ͷ
    • targetSdkVersionʹؔ܎ͯ͠มߋ͞ΕΔಈ࡞
    • Foreground services
    • Network TLS enabled by default
    • Apache HTTP client deprecation

    View Slide

  42. ࣮ࡍʹnoteΞϓϦͰରԠ͕

    ඞཁͩͬͨมߋ
    • 2͚ͭͩͰࡁΜͩ
    • Foreground services
    • Apache HTTP client deprecation
    ※ ରԠ͸͢Δඞཁͳ͔͕ͬͨɺӨڹͦ͠͏ͳൣғͱͯ͠ચ͍ग़ͨ͠
    ΋ͷ͸ɺυΩϡϝϯτΛಡΈͳ͕Βಈ͔ͯ͠Έͯಈ࡞֬ೝ͸ͨ͠

    View Slide

  43. Thanksʂʂ

    View Slide