Android Apk文件包含的内容,资源文件,配置文件,dex文件等

简介:

Android应用程序以apk文件(后缀是.apk)的形式体现。用户安装在Android设备中时,就是在安装这个apk文件。 apk,即Android application package,Android应用程序包。实际上,这个apk文件是一个压缩文件,可以用zip等工具进行解压。本文将对apk文件的结构和内容做一个简单介绍。

Apk文件包含的内容:

在我们编译好apk后,用zip文件解压,可以看到一些目录,这些目录包含二进制代码、资源文件、配置文件,签名文件等,一个典型的目录结构如下:

AndroidManifest.xml    classes.dex        res
META-INF        com            org            resources.arsc
assets            lib        

1)AndroidManifest.xml:

Android应用程序配置文件。程序员开发的activity,service等组件;应用程序包名,使用的Android系统的编译版本;程序的入口等信息,都在这个AndroidManifest.xml中配置。

2)classes.dex:

classes.dex是Android系统的虚拟机文件。Android采用dalvik虚拟机,与标准的java虚拟机对应,dex文件是由java虚拟机的.class文件转换打包而成。也就是说,Android系统在编译时,会将java程序编译成class后,再使用dex工具将所有的class文件打包到一个dex文件,dex是apk文件的核心文件,也是程序员编写的java代码编译后的文件所在。

用户可以使用dexdump,Dedexer, jadx等dex反编译工具,对classes.dex文件进行反编译,从而得到对应的字节码class。

3)res:即资源文件。程序写在开发时用到的字体,图片,布局文件等,都在这个目录中。下面,是一些典型的资源目录或文件:

 anim        layout    drawable  drawable-ldpi  
 
 drawable-xxhdpi drawable-hdpi    drawable-xhdpi menu  raw

 

4)META-INF:签名文件所在的目录。Android apk文件只有在正式签名后,才可以发布到应用市场。通常包含下面三个文件:

CERT.RSA    CERT.SF    MANIFEST.MF

5)resources.arsc:编译后的二进制资源文件。

6)assets:存放一些附件,例如,一些音频文件,其它的用户业务需求定义的配置文件等,可以以文件的方式被读取或访问。

7)lib: 用到的第三方库,包括jar和native的so库。

8)其它文件及文件夹:例如上面的com,org文件夹,其中,包含了应用程序用到的第三方的一些文件,可能是资源文件,sdk或lib库等。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值