apk文件解压后会有哪些目录?简要说说分别是什么?-文件解压

读完本文需要3分钟

每天弄清一个点,轻松搞定android面试

精诚所至,金石为开

建议看到问题后,先自己想想能不能完整说出来,然后再看后面答案。

今天的面试话题是:

apk文件解压后会有哪些目录?简要说说分别是什么?

1.apk解压后包括5个文件,分别是

  • classes.dex

  • res

  • AndroidManifest.xml

  • resources.arsc

  • META-INF

classe.dex: classes.dex文件是java编译生成的二进制资源文件,是直接给dalvik虚拟机识别的,不同于java虚拟机识别class文件,目前常见的java反编译工具也不能处理dex文件,需要专门的dex2 jar工具反编译dex文件为jar文件,然后在用JD-GUI工具将jar反编译成java文件;

res:res文件用来存放所有项目涉及到的图片,xml等资源文件,反编译后可以直接看到这些资源内容,有些公司为了提高apk 的安全性,甚至对资源文件也进行了混淆,比如美团,传送门:美团Android资源混淆保护实践(http://tech.meituan.com/mt-android-resource-obfuscation.html)

resources.arsc: resources.arsc文件中保存的是二进制的资源文件,汉化软件的人都是修改这个文件

AndroidManifest.xml: 该文件中放的是混淆后的android的清单文件,我们可以使用AXMLPrinter2工具反编译得到具体的内容;

META-INF: 该文件夹目录下存放的是软件的签名信息,用来保证apk包的完整性和安全性。在软件安装的过程中会对包里的文件进行校验;如果校验信息与META-INF中的信息不一致,系统会拒绝软件的安装。一般情况,android开发人员会将重要信息封装到.so的库文件中,这些信息是无法反编译的。

最后,推荐大家一款超级好用的反编译神器(Android Crack Tool),是我目前使用过最强大的反编译工具。大家可以先从下图预览下他的美貌,想必看到它提供的功能就知道有多强大了吧,赶紧收藏吧。

apk文件解压后会有哪些目录?简要说说分别是什么?

如果大家觉得好,大家转载的同时,也点点文章最下面“AndroidDeveloper”的订阅按钮,关注“AndroidDeveloper”,我们的口号是:每天一点点,轻松学Android

推荐阅读