在Android系统或开发环境中,AAR、JAR、DEX、APK文件有什么区别?每一项的目的是什么?
AFAIK,JAR 就像 .class 文件的集合(就像 Java 中的那样)。
AAR 是 JAR 文件+资源。但它的用例是什么?用于分发 Android 开发库?
APK 似乎类似于 .deb 或 .rpm 等软件包。这是在 Android 上安装应用程序的唯一方法吗?
那么 DEX 文件呢?已编译的应用程序...但是 JAR 或 AAR 文件有什么区别?
此外,在为 Android 分发 .so(即本机代码)文件时,最好的方法是什么?
JAR(Java 存档)
JAR是一种包文件格式,设计用于在其平台上分发Java应用程序。它包含已编译的 Java 类文件 + 一些其他文件,例如 MANIFEST.基本上它只是一个带有一些限制的 ZIP 存档。
DEX(Dalvik 可执行文件)
DEX是二进制文件格式,所以是编译的。我们可以说,.dex文件用于 DVM(Dalvik 虚拟机),类似于.classJVM 文件。
DEX 文件格式实际上是由 Android SDK 中的 dex 编译器从 java CLASS 文件生成的。该编译器将 JVM 字节码转换为 DVM 字节码,并将所有类文件放入一个 dex 文件中。
APK(安卓应用程序包)
APK 是专为在其平台上分发 Android 应用程序而设计的文件格式。它与 JAR 格式有一些相似之处。同样,它只是一个 ZIP 存档,但 APK 文件具有预定义的特定结构。例如,它始终必须包含名为AndroidManifest.xml还有很多。该包还以 dex 格式聚合编译后的类。
AAR
AAR 是 Android 库项目的二进制发行版。它的结构与 APK 类似。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)