AndroidBuild5—android build apk

目录

1、project structure

2、build overview

3、build tools

4、build flow

  4.1 Android.mk示例

  4.2 主要makefile关联

  4.3 从mmm开始

  4.4 从Android.mk的include $(package.mk)开始

5、总结

 

1、project structure

2、build overview

3、build tools

  • aapt android asset packaging tool, take resources and Androidmanifest.xml and compile them, provide
    R.java.
    aidl converts any .aidl interfaces that you have into Java interfaces, output .java
    javac compile java code, output .class
    dex converts the .class files to Dalvik byte code
    apkbuilder package non-compiled resources (images), compiled resources, and the .dex files into an .apk file
    jarsigner sign the apk with a debug or release key
    zipalign Aligning the final .apk decreases memory usage
    proguard optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and
    methods with semantically obscure names
    dex-preopt input the .jar or .apk, output .odex
    dexopt optimize dex with byte-swapped and struct-aligned
    zip/unzip compress and uncompress tool
    jar java package tool

4、build flow

  • 4.1 Android.mk示例
  • 4.2 主要makefile关联
  • 4.3 从mmm开始

  • 4.4 从Android.mk的include $(package.mk)开始

 

 

  • 4.4 依赖总结

5、总结

Create R.java  $(create-resource-java-files)
Transform java to JAR file $(transform-java-to-classes.jar)
Transform JAR to proguard $(transform-jar-to-proguard)
Transform JAR to dex $(transform-classes.jar-to-dex)
Create empty package $(create-empty-package)
Add resource

$(add-assets-to-package)

$(add-jni-shared-libs-to-package)

$(add-dex-to-package)
$(add-java-resources-to-package)

sign apckage $(sign-package)
Transform dex to odex $(dexpreopt-one-file)
$(dexpreopt-remove-classes.dex)
Align package $(align-package)
posted @ 2015-11-25 21:03  何人之名  阅读(511)  评论(1)    收藏  举报