简介
apk全称叫Android Package,它本质上是一个压缩文件,所以将apk变为zip或rar就能解压出apk的资源目录
具体结构
| 目录(文件)名 |
功能 |
| lib |
存放着对不同系统的.so配置文件(c或c++编译的动态链接库文件),armeabi-v7a基本通用所有android设备,arm64-v8a只适用于64位的android设备,x86常见用于android模拟器 |
| META-INF |
保存签名信息 |
| res |
存放资源文件,包括图片,字符串等等,APK的脸蛋由他的layout文件设计 |
| AndroidManifest.xml |
一个信息表单,描述了应用的名字,版本,权限,引用的库文件等等信息 |
| resources.arsc |
编译后的二进制资源文件,它是一个映射表,映射着资源和id,通过其中的id就可以找到对应的资源 |
| classes.dex |
java源码编译后生成的java字节码文件,APK运行的主要逻辑 |
| assets |
存放着apk的静态文件资源,比如图片,音频,视频等 |
AndroidManifest.xml具体结构
| 名称 |
内容 |
| versionName |
版本名 |
| package |
包名,如com.xxxx.demo |
| uses-permission android:name="" |
应用权限,例如:android.permission.INTERNET 代表网络权限 |
| android:label="" |
应用名称 |
| android:icon="" |
应用图标路径 |
| android:debuggable="true" |
应用是否开启debug权限 |
| versionCode |
版本号 |