android的编译过程详解
2014-12-09 19:28
253 查看
Android的编译过程
IDE中的资源打包工具 (Android Asset Packaging Tool ,即图中的aapt) 会将应用中的资源文件进行编译,这些资源文件包括
XML 文件等等。在这个编译过程中也会产生一个
aidl 工具会将你项目中的所有
项目中的所有的Java代码,包括
.class 文件。
接着 dex 工具就会把上一步骤产生的 .class 文件转成 Dalvik 字节码,也就是
.class 文件也会被转换成
所有的不能编译的资源(比如图片等等)、编译后的资源文件和 .dex 文件会被 apkbuilder 工具打包成一个
一旦
最后,如果应用程序已经被签名成为发行模式的apk,你还需要使用 aipalign工具对
IDE中的资源打包工具 (Android Asset Packaging Tool ,即图中的aapt) 会将应用中的资源文件进行编译,这些资源文件包括
AndroidManifest.xml文件,为Activity定义的
XML 文件等等。在这个编译过程中也会产生一个
R.java文件,这样你就可以在你的Java代码中引用这些资源了。
aidl 工具会将你项目中的所有
.aidl接口转换成Java接口。
项目中的所有的Java代码,包括
R.java和
.aidl文件,都会被Java编译器编译,然后输出
.class 文件。
接着 dex 工具就会把上一步骤产生的 .class 文件转成 Dalvik 字节码,也就是
.dex文件。同时项目中包含的所有第三方类库和
.class 文件也会被转换成
.dex文件,这样讲方便下一步被打包成最终的
.apk文件。
所有的不能编译的资源(比如图片等等)、编译后的资源文件和 .dex 文件会被 apkbuilder 工具打包成一个
.apk文件。
一旦
.apk文件被构建好之后,如果要把把它安装到设备上面去的话,它就必须用一个debug 或者发行key来对这个apk文件签名。
最后,如果应用程序已经被签名成为发行模式的apk,你还需要使用 aipalign工具对
.apk进行对齐优化。这样的话可以减少应用程序在设备上的内存消耗
相关文章推荐
- Android编译过程详解(二)
- Android编译过程详解(三)
- Android编译过程详解(一)
- Android编译过程详解(三)
- Android编译过程详解(二)
- Android编译过程详解(一)
- Android编译过程详解(一)
- Android编译过程详解(二)
- Android编译过程详解(三)
- Android编译过程详解(二)
- Android编译过程详解(一)
- android编译过程详解(三)
- android编译过程详解(二)
- Android编译过程详解(三)
- Android编译过程详解
- Android编译过程详解(一)
- Android编译过程详解(二)
- android编译过程详解(一)
- Android编译过程详解(三)
- Android编译过程详解(一)