APK 打包流程

作者: 孤独的根号十二 | 来源:发表于2018-12-29 16:03 被阅读3次

前言:

将apk文件修改后缀名为.zip后解压 app解压

classes.dex 是.dex文件所有java编译的class文件都在这里。
resources.arsc是resources resources文件。
AndroidManifest.xml是AndroidManifest.xml文件。
res是uncompiled resources,即所有的资源文件。
META-INF是签名文件夹。

META-INF其中有三个文件:

MANIFEST.MF文件
版本号以及每一个文件的哈希值(BASE64)。包括资源文件。这个是对每个文件的整体进行SHA1(hash)。

CERT.SF文件
这里是对Manifest.MF文件的每个项的三行再做一次SHA1。而

CERT.RSA
这个文件保存了签名和公钥证书。

具体打包过程

1.aapt来打包res资源文件
会生成R.java、resources.arsc和res文件,除了raw目录下的资源,其他都是编译成二进制

--raw。这类资源以任意格式的文件保存在res/raw目录下,它们和assets类资源一样,都是原装不动地打包在apk文件中的,不过它们会被赋予资源ID,这样我们就可以在程序中通过ID来访问它们。

resources.arsc这个文件记录了所有的应用程序资源目录的信息,包括每一个资源名称、类型、值、ID以及所配置的维度信息。我们可以将这个resources.arsc文件想象成是一个资源索引表,这个资源索引表在给定资源ID和设备配置信息的情况下,能够在应用程序的资源目录中快速地找到最匹配的资源。

2.aidl生成对应的Java接口文件

3.java编译生成class文件

4.通过dex命令,将.class文件和第三方库中的.class文件处理生成优化后的classes.dex

5.将classes.dex、resources.arsc等所有资源打包生成apk

6.apk签名

7.Zipalign进行apk对齐(优化apk)

相关文章

  • Android APK 加固重新签名

    APK 加固流程 打包APK 通过 ./gradlew assembleRelease 命令打包,此时的apk没有...

  • 打包部分源码分析

    前言 这篇文章主要描述两个部分: apk的打包流程 打包部分源码分析 apk的打包流程 在了解打包流程之前,我们先...

  • Android Apk包瘦身

    目录 1、Android 编译打包流程2、Apk包瘦身 1、Android 编译打包流程及APK构成 1.1、An...

  • Android 性能优化08 ---APK优化01(签名优化)

    一. APK打包本质及打包流程细节分析 apk加载流程:1.build-tools:实际提供工具2.gradle:...

  • 全命令打包APK

    打包APK体验 进行一次安卓手动打包,全程命令行操作 APK构建流程 先看看Google给出的构建流程 典型 An...

  • apk打包流程

    1、导读 .apk文件其实就是一个压缩文件,把文件的后缀改成.zip就可以用windows解压软件解压了。 这是一...

  • Apk打包流程

    /** * 在 android 系统中一个apk的打包,包括三部分1.资源文件res、2.java文件、3aidl...

  • APK打包流程

    1.APK文件内容 .apk文件是一个Android应用程序压缩包,可以将apk文件转换成.zip文件并解压查看,...

  • apk打包流程

    aapt资源编译 编译assets目录和res/raw目录下的资源 编译res目录下的资源文件 给res目录下的每...

  • APK 打包流程

    前言: classes.dex 是.dex文件所有java编译的class文件都在这里。resources.ars...

网友评论

    本文标题:APK 打包流程

    本文链接:https://www.haomeiwen.com/subject/whdelqtx.html