2018-05-22-android-app-bundle

Daec7e5cd5fae384eda88037d937343b?s=47 AAkira
May 22, 2018

 2018-05-22-android-app-bundle

CA.apk Google I/O 報告会
Android App Bundle
https://cyberagent.connpass.com/event/84233/

Daec7e5cd5fae384eda88037d937343b?s=128

AAkira

May 22, 2018
Tweet

Transcript

  1. 3.

    Agenda • About Android App Bundle • App Bundle •

    Dynamic Delivery • Develop Android App Bundle • Upload .aab file to PlayStore • bundle tool • Summary
  2. 7.
  3. 12.

    Android App Bundle arm 64 bit Lang : US hdpi

    x86 arm xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR
  4. 13.

    Android App Bundle arm 64 bit Lang : US hdpi

    x86 arm xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR
  5. 14.

    Android App Bundle arm 64 bit Lang : US hdpi

    x86 arm xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR arm 64 bit Lang : US hdpi x86 arm xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR 全てのリソースを 端末にインストール
  6. 15.

    Android App Bundle arm 64 bit Lang : US hdpi

    x86 arm xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR
  7. 16.

    Android App Bundle hdpi x86 arm arm 64 bit Lang

    : US xxhdpi xhdpi dpi Lang : JA Lang : PL Lang : IT Lang : IS Lang : FR Lang : DE Lang : ES Lang : NL Lang : TR arm 64 bit Lang : US xxhdpi 必要なリソースのみを 端末にインストール
  8. 33.

    Prepare keystore 
 $ java -jar pepk.jar \
 --keystore=[your keystore]

    \ --alias=[keystore alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge]
  9. 34.

    
 $ java -jar pepk.jar \
 --keystore=[your keystore] \ --alias=[keystore

    alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge] Prepare keystore storeからDL
  10. 35.

    
 $ java -jar pepk.jar \
 --keystore=[your keystore] \ --alias=[keystore

    alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge] Prepare keystore 既存のkeystoreを指定
  11. 36.

    
 $ java -jar pepk.jar \
 --keystore=[your keystore] \ --alias=[keystore

    alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge] Prepare keystore keystoreのaliasを指定
  12. 37.

    
 $ java -jar pepk.jar \
 --keystore=[your keystore] \ --alias=[keystore

    alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge] Prepare keystore 任意のファイル名
  13. 38.

    
 $ java -jar pepk.jar \
 --keystore=[your keystore] \ --alias=[keystore

    alias] \
 --output=[encrypted_private_key] \
 --encryptionkey=[hogehogehoge] Prepare keystore storeに表示されているkeyを指定
  14. 43.

    bundle tool $ ls base-hdpi.apk base-master.apk base-tvdpi.apk base-xxhdpi.apk standalone-hdpi.apk standalone-mdpi.apk

    standalone-xhdpi.apk standalone-xxxhdpi.apk base-ldpi.apk base-mdpi.apk base-xhdpi.apk base-xxxhdpi.apk standalone-ldpi.apk standalone-tvdpi.apk standalone-xxhdpi.apk toc.pb
  15. 45.

    bundle tool $ bundletool get-device-spec \
 --output=<device.json> \ { "supportedAbis":

    ["arm64-v8a", "armeabi-v7a"], "supportedLocales": ["en-US"], "screenDensity": 640, "sdkVersion": 27 } Pixel2.json
  16. 51.

    bundle tool android { splits { language { enable true

    include "en", "ja" } density { enable true } abi { enable true } } }
  17. 52.

    bundle tool android { splits { language { enable true

    include "en", "ja" } density { enable true } abi { enable true } } } 言語ファイルの分割
  18. 53.

    bundle tool android { splits { language { enable true

    include "en", "ja" } density { enable true } abi { enable true } } } 画面サイズの分割
  19. 54.

    bundle tool android { splits { language { enable true

    include "en", "ja" } density { enable true } abi { enable true } } } CPU命令セットの分割
  20. 55.

    bundle tool android { splits { language { enable true

    include "en", "ja" } density { enable true } abi { enable false } } } 分割不要ならfalse
  21. 56.

    bundle tool android { generatePureSplits true splits { language {

    enable true include "en", "ja" } density { enable true } abi { enable true } } }
  22. 57.

    bundle tool android { generatePureSplits true splits { language {

    enable true include "en", "ja" } ɹɹ… multi apk, instant appsで使われてる
  23. 58.

    bundle tool android { generatePureSplits true splits { language {

    enable true include "en", "ja" } ɹɹ… min SDK21以上 multi apk, instant appsで使われてる
  24. 65.