What's in the Android Toolbox

What's in the Android Toolbox

A look into the Android build tools. How are Android apps built? What's new in the Android build tools?

108056ccba92f98fdbbabad534537573?s=128

Bryan Herbst

February 10, 2018
Tweet

Transcript

  1. 23.
  2. 26.
  3. 30.
  4. 82.

    app/build ├── generated ├── intermediates │ ├── classes │ └──

    transforms │ ├── dex[...] │ ├── mergeJavaRes │ ├── profilers-transform │ └── proguard └── outputs └── apk
  5. 88.

    [000148] Main.main(String) 0000: sget-object v0, System;.out:PrintStream; 0002: const-string v1, "Hello

    World" 0004: invoke-virtual {v0, v1}, println:(String)V 0007: return-void
  6. 89.

    [000148] Main.main(String) 0000: sget-object v0, System;.out:PrintStream; 0002: const-string v1, "Hello

    World" 0004: invoke-virtual {v0, v1}, println:(String)V 0007: return-void
  7. 108.

    A B

  8. 130.
  9. 148.
  10. 150.
  11. 153.
  12. 160.
  13. 163.
  14. 169.
  15. 170.
  16. 171.

    Compiled APK (.dex) optimize (dex2oat) Optimized APK (.dex, .oat) JIT

    Profile optimize (dex2oat) Optimized .oat Android 5.0
  17. 172.

    Compiled APK (.dex) optimize (dex2oat) Optimized APK (.dex, .oat) JIT

    Profile optimize (dex2oat) Optimized .oat Android 7.0