是不是有.apk的官方格式规范?

时间:2011-07-30 00:25:08

标签: android reverse-engineering apk dalvik

我见过一些将.apk文件反转为基本文件的应用程序。我想知道在哪里可以找到.apk文件的官方规范,但我无处可去!如果没有正式的规范,有人可以告诉我们在哪里看,以及有关规范的最佳资源是什么?

1 个答案:

答案 0 :(得分:8)

我不知道是否有官方规范,但是通过浏览我的应用程序的文件结构,我推断出以下内容:

- .apk只是一个zip文件,可以在任何合适的应用程序中打开(7zip,WinZip,WinRAR,任何操作系统的默认.zip工具)。

- 它必须在根目录中包含一个AndroidManifest.xml文件(尽管这是一个已编译的.xml文件,而且不是人类可读的。)

- 它必须包含一个classes.dex文件,其中包含编译为Dalvik字节码的实际二进制代码。

- 必须包含resources.arsc文件。我相信它是/ res文件夹中所有内容的索引,但我不是正面的。

- 必须在根目录中包含一个包含CERT.RSA,CERT.SF和MANIFEST.MF的META-INF文件夹。这些是应用程序的数字签名文件。

- 应用程序可能包含文件夹/ assets,/ res和/ raw,其中包含图像和数据库等资源文件。

- 应用程序可能包含/ lib文件夹,其中包含所有本机代码目标(如armeabi)的文件夹,其中包含.so文件(本机代码)。

我可能错过了很多东西,但这应该会给你一个良好的开端。