android 应用程序包文件 (APK)
16lz
2021-01-23
Android 应用程序包文件 (APK) 是一种Android操作系统上的应用程序安装文件格式,其英文全称为 “application package file” 。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), assets,证书(certificates),和清单文件(manifest file)。
APK 文件基于 ZIP 文件格式,它与JAR文件的构造方式相似。它的互联网媒体类型是application/vnd.android.package-archive.
1.
结构
一个APK文件通常包含以下文件:
- META-INF 文件夹: - MANIFEST.MF: 清单信息(Manifest file) - CERT.RSA: 保存着该应用程序的证书和授权信息。 - CERT.SF: 保存着 SHA-1 信息资源列表,比如:
Signature-Version: 1.0 Created-By: 1.0 (Android) SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE= … Name: res/layout/exchange_component_back_bottom.xml SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w= … Name: res/drawable-hdpi/icon.png SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
- res: APK所需要的资源文件夹。- AndroidManifest.xml: 一个传统的Android清单文件,用于描述该应用程序的名字、版本号、所需权限、注册的服务、链接的其他应用程序。该文件使用XML文件格式,可以编译为二进制的XML,使用的工具为 AXMLPrinter2 或apktool.- classes.dex: classes文件通过DEX编译后的文件格式,用于在Dalvik虚拟机上运行的主要代码部分。- resources.arsc:程序的语言文件,可以通过这软件用(AndroidResEdit等工具)来进行翻译
你也可以用ApkTool等工具来 反编译 后再开始进行软件修改,当然可以编译回来。
更多相关文章
- Android 动态加载布局文件
- android 工程里缺少 R.java 文件原因和解决方法
- 使用pull解析器操作xml文件
- 解决android一直在running,打不开文件,下载不了gradle包的方法
- 【android开发】解析xml文件①
- 巧用布局文件实现Android中实现事件监听机制