手机接收的apk怎么安装,apk文件怎么安装到安卓手机

首页 > 实用技巧 > 作者:YD1662023-11-08 00:40:57

前言

现如今随着组件化, 插件化框架以及热修复,AOP编程等高级用法的新起,不得不驱使大家去了解更加底层的原理,上一篇文章笔者介绍了关于JVM字节码的理解,这篇文章笔者就来讲解下我们apk从编译到安装的过程。

首先来了解下我们apk的成员

apk文件组成

手机接收的apk怎么安装,apk文件怎么安装到安卓手机(1)

1.AndroidManifest.xml:

apk的配置文件,内部包含了应用的名称,权限声明,四大组件等信息的声明,如果说app是一本书,它就是这本书的封面

2.classes.dex:

由源码编译后的的.class文件经过进一步转换成Android系统可识别的Dalvik Byte Code,包括第三方JAR或aar中的class文件

3.resources.arsc:

资源索引表,使用的是一个二进制流的格式,记录R文件id和资源文件路径的一个映射表以及我们在res文件夹下放入一个资源文件,aapt就会自动在R文件中生成对应的资源文件id,而R文件只能保证编译不报错,实际运行时还是需要依赖resources.arsc中的映射关系,通过R文件id找到实际资源文件路径。

手机接收的apk怎么安装,apk文件怎么安装到安卓手机(2)

4.res 目录:

存放未编译的资源文件

5.asserts:

也是资源文件夹,和res的区别:res文件会在R文件中生成索引,运行时使用索引获取资源文件,而asserts目录下的文件不会在R文件中生成索引,使用AssetManager访问文件

6.libs 目录:

存储so动态库

7.META-INF 目录:

存储签名和校验信息,确保程序的完整性。Apk打包时会使用签名文件对apk进行签名校验,并将结果记录到META-INF 目录下,Apk安装的时候设备也会对应用进行一次校验,并和META-INF 目录下的校验信息对比,防止apk在出包后被篡改

apk打包编译过程

放一张官方apk编译过程图:

手机接收的apk怎么安装,apk文件怎么安装到安卓手机(3)

旧版本打包编译过程更详细的描述了具体过程

手机接收的apk怎么安装,apk文件怎么安装到安卓手机(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.