【问题标题】:How to minimize the .apk size in android studio?如何在 android studio 中最小化 .apk 的大小?
【发布时间】:2021-04-23 10:30:44
【问题描述】:

完成后,我正在使用 Jitsi Android SDK 制作一个简单的视频通话应用程序,当我构建我签名的 APK 时,它的大小太大,即 101 MB,当我检查 apk 它显示类型 .nox apk强>。

另一个问题是,当我尝试将 101MB 的 apk 安装到移动设备时,它显示 App Not Installed 为此,我检查了移动设置 Unknown Sources 之后它坚持相同的消息(未安装应用程序)。

这是我应用的 build.gradle(app) 文件

这也是我的 Proguard 规则和目标 SDK

这是APk文件的扩展名

这是我的分析 apk 结果

如何构建易于运行的简化 Apk...请帮助我解决这个问题,我不知道我哪里出错了??

【问题讨论】:

  • 另外,我的 Res 文件夹中没有图像,我总是在我的应用程序中使用矢量资源作为图像,我只使用一个大小为 7 KB 的 PNG 文件
  • lib中每个文件夹里面的东西是什么? (我认为它们都具有相同的名称。)您真的需要一些 .so 文件用于本机应用程序吗?
  • @GenoChen 在每个文件夹中都有很多 .so 文件,我只想减小用于测试目的的 apk 的大小
  • 对于第一个问题,我的意思是编辑问题以添加最后一张图像的信息。
  • 研究使用 App Bundles 而不是 APK。 App Bundles 在安装时会导致 apk 大小减小,尽管我不确定在您的特定情况下会减小多少。 developer.android.com/platform/technology/app-bundle

标签: android android-studio apk


【解决方案1】:
  1. 首先你需要优化资源图片Tinyfy,我建议你使用这个链接来优化你的图片资源。

  2. 上述步骤之后的第二件事,将所有图片资源转换为Webp格式,为了转换为webp,您需要右键单击图片资源,然后在选项底部会有optionj convert to webp。

  3. 删除不必要的类和库以减小大小。

  4. 应用 Proguard 规则来减小大小

  5. 为了删除 delete x86_64,您只需在应用级 gradle 文件中的 Android Tag 下添加即可

    拆分{ 阿比{ 启用真 重置() 包括“armeabi-v7a” 通用Apk 错误 } }

【讨论】:

  • 如何应用第 3 点,顺便说一下,我在整个应用程序中只使用一张图片,只有 7KB
  • 为了实现这一点,您只需要打开 Gradle 文件并检查您不再需要的库,因为您的构建分析器图像显示哪个库占用更多空间或哪个更少。只需删除不必要的库
  • 分析器显示您的两个库消耗 8.2 Mbs,我认为它们都执行相同的功能。
  • 我要实现这一点,您只需要对不再需要的库进行完整分析。
  • 您可以做的另一件事是应用 Proguard 规则来减小大小。
【解决方案2】:

您的应用程序如此庞大的主要原因是您的项目中拥有的所有本机库。我猜它们包含在Jitsi Android SDK 中。 我猜你不是在创建 App Bundle,而是通过 Android Studio 直接构建一个 apk,这就是为什么所有版本的本机库都包含在同一个 apk 中的原因。 通过使用 App Bundle 格式来构建您的应用程序,您应该会大大降低应用程序的大小,因为它只会为特定配置创建 apk 文件,因此每个架构都将拥有自己的 apk,其中包含仅适用于该架构的本机库。

一旦您拥有App Bundle 文件,您就可以创建您的apk,以便使用bundletool 安装到设备上。使用这样的命令:

bundletool build-apks --bundle=/PathToMyABB/app-bundle.aab --output=/PathToMyAPKS/my-apks.apks

【讨论】:

  • 好的,我明白你的意思了,但是当我构建一个包时,它会创建一个大小为 121MB 的 app-debug.aab 文件,我不知道下一个会是什么减小尺寸的步骤。是保持不变还是可以减少
  • 下一步是从此应用程序包中创建实际的 apk 文件并将它们安装到您的设备上:bundletool -> developer.android.com/studio/command-line/bundletool
  • 我不知道如何使用 bundletool 我是 android studio 的初学者
  • 它是一个命令行工具,你不会在 Android Studio 中使用它。检查我在评论和主要答案中发布的链接。
  • 我在创建了近 15 个 apk 后尝试了这种方法,我检查了每个 APK,所有这些 APK 都给出了相同的消息 出现解析问题 @hardartcore
【解决方案3】:

您可以将 apk 作为包检索并将图像转换为 webp 格式,您将节省 %50 内存区域。

【讨论】:

  • 我的应用中没有任何图片
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多