美文网首页
APK构建过程

APK构建过程

作者: 书文换酒钱 | 来源:发表于2018-12-20 11:22 被阅读0次

APK的编译打包流程:编译–>DEX–>打包–>签名和对齐

image.png

1、编译

Java编译器对工程本身的java代码进行编译,这些java代码有三个来源:app的源代码,由资源文件生成的R文件(aapt工具),以及有aidl文件生成的java接口文件(aidl工具)。产出为.class文件。
①工程的资源文件(res文件夹下的文件),通过AAPT打包成R.java类(资源索引表),以及.arsc资源文件
②如果有aidl,通过aidl工具,打包成java接口类
③把Java文件和aidl.java和R.java编译成.class文件

2、dex

.class文件和依赖的三方库文件通过dex工具生成Delvik虚拟机可执行的.dex文件,包含了所有的class信息,包括项目自身的class和依赖的class。产出为.dex文件。
dx工具的主要作用是将java字节码转换成Dalvik字节码,在此过程中会压缩常量池,消除一些冗余信息等。

3、打包

apkbuilder工具将.dex文件和编译后的资源文件生成未经签名对齐的apk文件。这里编译后的资源文件包括两部分,一是由aapt编译产生的编译后的资源文件,二是依赖的三方库里的资源文件。产出为未经签名的.apk文件。

4、签名和对齐

分别由Jarsigner和zipalign对apk文件进行签名和对齐,生成最终的apk文件。

AAPT

前面讲到,apk的打包流程第一步包含AAPT编译资源文件生成R.java文件,那AAPT又是什么呢
AAPT- Android Asset Packaging Tool,看这个全称可以看出,他是android的资源打包工具,

  • 输入:res文件夹所有的资源(layout\drawable\string\array等),asset下的资源,AndroidManifest.xml,Android.jar文件
  • 工具: aapt 地址(/your sdk path/build-tools/your build tools version/aapt)
  • 输出:res下的资源都会被编译成一个资源索引文件resource.arsc以及一个R.java类。asset下的资源不会编译,�直接压缩进apk。

相关文章

  • Gradle 介绍

    Gradle介绍 apk的构建过程 这个APK构建的过程主要分为以下几步: 通过AAPT(Android Asse...

  • Apk 构建过程

    Apk 构建过程 aapt(Android assent packaging tool) aapt工具会打包应用中...

  • .apk构建过程

    废话少说,先看张图: 构建过程: aapt工具(Android Asset Packaging Tool安卓资源打...

  • APK构建过程

    APK的编译打包流程:编译–>DEX–>打包–>签名和对齐image.png 1、编译 Java编译器对工程本身的...

  • Gladle构建知识点

    1 ,Android 构建系统 构建 APK 的过程是个相当复杂的过程,Android 构建系统需要将应用的资源文...

  • Android apk 构建过程

    构建流程涉及许多将您的项目转换成 Android 应用软件包 (APK) 的工具和流程。 构建流程非常灵活,因此了...

  • Android-构建不同环境的Apk

    Android-构建不同环境的Apk 在开发Android过程中,常常需要构建不同环境的Apk,比如我们有可能会需...

  • Android 构建、启动、绘制流程及原理

    一、构建 构建过程也就是指将Android Studio的工程代码通过gradle脚本编译打包成APK的过程。整个...

  • Android项目构建过程分析

    一、构建过程分析 我们知道,如果要在Android Studio后会编译整个项目并生成apk包,但是构建的过程中到...

  • Android中ClassLoader类加载机制

    Android中apk的构建过程 如图 所示,典型 Android 应用模块的构建流程通常依循下列步骤: 编译器将...

网友评论

      本文标题:APK构建过程

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