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 namesdex-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) |
| sign apckage | $(sign-package) |
| Transform dex to odex | $(dexpreopt-one-file) $(dexpreopt-remove-classes.dex) |
| Align package | $(align-package) |








浙公网安备 33010602011771号