AndroidApp打包流程
移动应用
浏览:989 次

一个完整的Android项目可能包含多个模块。从宏的角度来看,每个模块的内容可以分为两部分:资源资源文件、Java或Kotlin源代码。因此,这两个部分也完成了整个项目的编译和打包过程。
编译阶段的资源资源文件包括项目res目录中的各种XML文件、动画、可绘制图片、音频和视频文件。AAPT工具负责编译项目中的这些资源文件。将编译和处理所有资源文件。XML文件(可绘制图像除外)将被编译为二进制文件。因此,在apk解压缩后,不能直接打开XML文件。然而,资产和原始目录中的资源将不会被编译,而是完整地打包在apk包中。
资源文件编译后的产品包括两部分:资源arsc文件和R.java。前者存储资源索引表,后者定义资源ID常量。两者的组合可以在代码中找到相应的资源引用。
项目源代码部分的源代码将首先编译为。通过javac类字节码文件,然后这些。类文件,以及。依赖第三方库中的类文件将被优化为。dx工具的dex文件。如果存在分包,则为多个。也可以生成dex文件。
事实上,源代码文件还包括。编译AIDL接口文件后生成的java文件。如果Android项目包含。aidl接口文件,这些。aidl文件将编译为。java文件。
在打包阶段结束时,使用工具apk Builder打包编译的资源和。dex文件到apk中。事实上,还有一些其他资源打包到APK中,例如AndroidManifest、xml清单文件和动态库。所以文件在第三方库中使用。

创建apk后,不能直接使用它。您需要使用工具jarsigner对其进行签名,因为Android系统不会安装未签名的程序。META将在签署INF文件夹后生成,该文件夹存储与签名相关的文件。
CERT.SF:为每个文件生成密钥
显示。MF:数字签名信息
xxx。SF:这是JAR文件的签名文件
Xxx。DSA:输出文件的签名和公钥。
PMS将在安装期间检查apk中签名证书的有效性。详情将在稍后介绍。

一般来说,签署的APK应该能够正常安装和使用,但实际的包装过程也将采取一个步骤来优化APK操作。工具zipaign用于对齐apk中未压缩的资源(图片、视频等),以便根据4字节边界对齐资源。这种想法与Java对象内存布局中的对齐空间非常相似,主要是为了加快资源访问。如果每个资源的起始位置在上一个资源之后4n字节,那么对下一个资源的访问不需要遍历,您可以直接跳转到4n字节以确定它是否是新资源。
到目前为止,已经成功创建了一个完整的apk安装包。
统软云是一家专业和服务提供商,提供一站式移动应用解决方案,以满足您的各种需求。