我在我的 android 项目中包含了一个 JAR 文件,并且正在使用 JAR 中存在的一些类(不是所有的 JAR)。
我想知道,构建项目后生成的 apk 的大小取决于我包含的 JAR,或者它仅取决于我在项目中使用的类。
整个jar
将包含在APK
. 您可能使用过一些类,但它们在很大程度上是内部依赖的。此外,还包括未使用的类。
APK 是一个 Android 应用程序包文件。每个 Android 应用程序都被编译并打包在一个文件中,其中包括所有应用程序的代码(.dex 文件)、资源、资产和清单文件。APK 文件基本上是一个 .zip 文件,因此无法进一步压缩其大小。
智能手机上的内存空间通常是一个竞争领域,现在大多数用户除了下载应用程序之外,还存储音乐、视频、消息更多。您制作的 APK 越小,对用户来说就越好,这可能是决定是否下载您的应用程序的决定因素,而不是占用更多手机内存的类似应用程序。
减小文件大小的提示
有许多减少静态足迹的建议。您可以选择最适合您自己特定需求的产品。Proguard 是一种选择。
查看此处了解有关减小 apk 大小的更多详细信息。
ProGuard
像ProGuard这样的代码收缩工具将显着减少静态占用空间。请注意,在应用 ProGuard 后重新测试所有应用程序非常重要,因为它可能会改变应用程序的行为。
由于 ProGuard 替换了应用程序符号,为了使代码难以阅读,保留符号映射非常重要,这样如果您必须调查应用程序中的崩溃,您可以将堆栈跟踪转换回原始符号。
是的。默认情况下,整个 jar 进入 apk。您可以使用ProGuard 去除编译期间不需要的所有内容。