本文节选自霍格沃兹测试开发学社内部教材
app 的结构包含了 APK 结构和 app 页面结构两个部分
APK结构
APK 是 Android Package 的缩写,其实就是 Android 的安装包。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。
APK 文件其实是 zip 格式,但后缀名被修改为 apk,通过 Android Studio 可以看到 APK 内部的文件。
下面拿雪球 APK 来举例,APK 内部结构如图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4qkCwAyF-1653457993779)(upload://eHRePMl2c0JzonB6F41lgQBl6fh.png)]
lib/ 目录
lib/ 目录存放的是一些 so 文件。so 文件是二进制文件,用来兼容各种类型的 CPU。
Android 开发中,在打包发布应用时会选择应用适配的 CPU 架构平台,在引用第三方库时也遇到根据不同 CPU 架构引入相应的 so 包。Android 主要包括这几种 CPU 架构:armeabi、armeabi-v7a、arm64-v8a、x86、x86_64、mips,大多数情况下只需要支持 armabi 与 x86 的架构即可。
不同的 CPU 架构决定了 app 可以运行在哪些设备上。比如手机设备一般来说用的是 arm 架构,而模拟器一般来说是 x86 架构。如果 app 只支持 arm 架构的话,那么就只能安装在真机上,模拟器上安装就会不成功。如果是两种架构都支持的话,那么就是真机和模拟器都可以安装了。
res/ 目录
res 目