返回介绍

9.2 App 安装包的结构

发布于 2024-08-17 23:46:11 字数 1351 浏览 0 评论 0 收藏 0

9.2.1 Android安装包的结构

Android的安装包是apk格式的文件。我们将其后缀名apk改为zip,就可以看到安装包中的内容。

图9-1 Android安装包解压后的目录结构

如图9-1所示,所有的Android安装包解压后都具有这样的目录结构:

简单介绍一下这些目录和文件的用途:

·resources.arscz这个文件是编译后的二进制资源文件的索引,也就是apk文件的资源表(索引)。

·lib目录下的子目录armeabi存放的是一些so文件。

·META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。但这个目录下的文件却不会被签名,从而给了我们无限的想象空间。

·assets目录下面可以看到很多基础数据,以及一些本地会使用到的HTML、CSS和JavaScript文件。

·res目录下面的anim子目录很值得研究,这个目录存放App所有的动画效果。Android做动画可以使用xml来配置,而不是写代码。iOS的动画都是使用代码写出来的,这是件很费力气的事情。一种好的解决方案是,在App的Android版本中找到某个动画对应的xml,将其翻译为iOS的动画语言即可。

注意,res目录中的很多xml文件打开后是乱码,AndroidManifest.xml也是如此,那是因为打包的时候对xml文件进行了压缩,所以看到的往往是全角的字符和乱码,不便于查找到我们想要看的内容。有一款神器用于看到apk包中正常的内容,AXMLPrinter2.jar,它可以将apk中已经处理过的xml还原为可读格式。命令如下所示:

java -jar AXMLPrinter2.jar AndroidManifest.xml

9.2.2 iOS安装包的结构

iOS的安装包是ipa格式的文件。我们将其后缀名ipa改为zip,就可以看到安装包中的内容。

图9-2 iOS安装包解压后的目录结构

所有的iOS安装包解压后都具有如图9-2的目录结构:

其中Payload目录下是一个包,里面有这个App所需要的所有图片、音频、布局文件、配置文件和可执行文件、bundle文件、HTML5相关文件。

很多png图片是打不开的,那是因为在iOS打包时,对一部分png图片进行了压缩。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文