在平时的项目开发中,我们编写完项目之后,点击AndroidStudio的Run 'app'就可以在\build\outputs\apk目录下生成可以在手机上运行的Apk文件,那么这一个过程到底经历了什么呢?这也是下面我们将介绍的Android项目的构建过程。
首先我们通过一张图片直观的了解一下具体的构建过程:
Android项目构建过程流程图
一、appt(Android Asset Packaging Tool)工具会把项目中的资源文件进行打包编译,比如AndroidManifest.xml,layout中的xml文件等。aapt编译完之后会生成对应的R.java文件和二进制文件。其中xml文件会编译为二进制的形式。assest,raw中发文件以及图片不会被编译,仍然保持原来的形态。
二、aidl工具将所有的aidl文件转化为java接口。
三、Java编译器将所有的Java文件,R文件以及aidl转化成的Java接口编译成.class文件。
四、dex工具将上述产生的.class文件以及第三方库以及其他的.classe文件编译成.dex文件,.dex文件是Dalvik虚拟机可以执行的文件格式。
五、apkbuilder工具将.dex格式的文件,编译过的资源文件以及其他的资源文件打包成apk文件,此时的apk文件还不能运行在手机上。
六、jarsigner工具对apk文件进行签名。平时我们开发测试的时候生成的apk文件使用的是Debug KeyStore签名文件。当要打包上线的apk文件,使用的是自定义的Release Keystore签名文件。如果是Release KeyStore签名文件,还要使用zipalign工具对apk进行对齐操作。对齐的操作是为了增大内存的开销,使得App运行效率更快。
网友评论