apk 是什么

APK是Android应用程序的安装包,基于ZIP格式,包含meta-inf、res、libs、AndroidManifest.xml、class.dex和resources.arsc等关键组成部分。Android应用运行基于Davlik虚拟机,每个应用在独立的进程中运行,利用Zygote机制提高效率。当apk安装后,.dex文件会被优化成ODEX用于直接运行。常用Android包如android.app、android.content等,分别负责运行环境、数据访问等核心功能。
摘要由CSDN通过智能技术生成

一.apk是android应用程序的安装包,是个zip的压缩文件

apk主要有以后几个部分组成

1.mate-inf  从java jar引入包信息的描述

2.res/  资源文件目录

3.libs ndk编出来的os库

4.androidmanifest 配置文件

5.class.dex 最终生成的dalvik字节码

6.resources.ars 编译后的二进制资源文件

二.android的运行原理

android应用程序运行时都会有一个davlik虚拟机实例.代码在虚拟机的解释下运行,提高了效率.

每个虚拟机实例都是一个独立的进程.android应用线程对应一个linucx线程.这样虚拟机就可以

依赖系统线程的调度和管理机制.由于应用在不同的进程中执行,并且不同的来源应用使用不同

的linux用户.这样大大提高了安全性和独立性.Zygote是一个虚拟进程同时,同时也是一个虚拟机

实例.Zygote会在系统启动时进行初始化工作.每当有一个新的应用程序启动时.Zygote会复制自己,

为应用程序提供一个虚拟机,这样大大的提高了效率.另外,对于一些系统只读库,Zygote和虚拟机实例

会公用一块内存区域.这样大大节省了内存开支.apk被发布到手机上之后.dex会放到缓存中,被优化

成dey,被直接运行.如果包不发生变化.dey不会重新生成.

sun jdk将java文件编译成.class文件.DX将class文件变为dex文件.然后appt将dex,资源文件,androidmanifest配置文件打包成apk.

三.android中常用的包以及作用

android.app 提供android的运行环境,程序高级模型

android.content 包含各种的对设备上的数据进行访问和发布的类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值