1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 使用Ant打包Android应用——apk生成过程

使用Ant打包Android应用——apk生成过程

时间:2023-08-31 05:07:21

相关推荐

使用Ant打包Android应用——apk生成过程

前文 《 使用Ant打包Android应用详解》和 《使用Ant打包Android应用详解——Ant使用解析》讲述了如何使用Ant及打包apk,本文总结下apk包的生成过程。 apk包就是一个zip格式文件(可通过二进制软件查看其是否压缩),利用解压缩软件可看到其结构如图所示:

总的可分为资源、代码、签名信息,具体为资源:assets、res、resources.arsc,android应用的配置清单AndroidManifest.xml文件 代码:classes.dex 和lib目录中的共享库文件 签名:META-INF 再来看这些文件具体的生成过程如同所示:

此图省略了对aidl文件,so文件等的处理 1.aapt资源处理: aapt扫描android工程目录中的资源文件,一方面处理png图片,生成二进制的xml文件(解压apk包是无法看到xml文件内容的),另一方面索引资源,生成R.java文件,将aidl文件生成对应的Java源文件 2.编译代码 (1)src目录中的源文件,上面生成的java文件通过javac编译生成class文件,与lib库中的jar文件一起,通过dx程序转化成被dalvik虚拟机执行的dex文件 (2)jni目录中的源文件,利用ndk-build编译后生成so文件,保存在lib目录中 3.归档 apkbuilder(新版的sdk中已经见不到它的影子,其实都是在sdklib.jar中)将处理的资源文件、代码文件、lib库文件以zip格式归档在一个apk文件中 4.签名 利用jarsigner,对apk文件进行签名,相应的在META-INF目录中生成*.RSA *.SF和MANIFEST.MF,其中MANIFEST.MF文件记录了对除META-INF目录外的其它文件计算的摘要值

对应到Ant的打包步骤上,打包生成apk文件的过程如下图所示(解析SDK中build.xml的release mode):

基本的过程是首先初始化基本参数,如是否是库工程,是打包成debug版还是release版,是否需要使用proguard混淆代码,其次就是打包(package),最后如果是release版本就需要签名和zip包优化 。同时也可以返回查看并理解 《 使用Ant打包Android应用详解》中定制化的步骤及原因。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。