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

What's in the Android Toolbox

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Bryan Herbst Bryan Herbst
February 10, 2018

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?

Avatar for Bryan Herbst

Bryan Herbst

February 10, 2018
Tweet

More Decks by Bryan Herbst

Other Decks in Programming

Transcript

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

    transforms │ ├── dex[...] │ ├── mergeJavaRes │ ├── profilers-transform │ └── proguard └── outputs └── apk
  2. [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
  3. [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
  4. A B

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

    Profile optimize (dex2oat) Optimized .oat Android 5.0
  6. Compiled APK (.dex) optimize (dex2oat) Optimized APK (.dex, .oat) JIT

    Profile optimize (dex2oat) Optimized .oat Android 7.0