【问题标题】:Jar size 50MB limitJar 大小 50MB 限制
【发布时间】:2017-03-10 09:37:09
【问题描述】:

当我将 android 构建发送到服务器时,它失败并在(build.xml 第 338 行)出现以下错误

jar 大小超过 50MB!请缩小项目规模

构建停止。

我无法找到有关 jar 大小限制的任何信息。我目前拥有“基本”许可证。

【问题讨论】:

  • 这是一个相当大的应用程序,你在捆绑一些资源吗?您是否考虑过应用在不同 Android 设备上的性能?普通的 Android 应用程序应该在 3 到 5 mb 左右。
  • 我的资源不多,主要是几个truetype字体文件和主题文件。我的代码库很大。 3 到 5 mb 的应用程序实际上非常小。虽然许多应用程序不需要大于 50 mb,但有些应用程序确实需要。这取决于应用程序的性质。我去了我的安卓手机-> 应用程序管理器。例如,我可以看到 Facebook 是 405MB,excel 202Mb,google drive 66Mb,Airbnb 127 Mb。 Gmail 73 MB。还有许多应用程序比这小得多,但这一切都取决于它所做的一切。
  • Diamond,在我看来你是对的。我有多个未优化的 res 文件。感谢您的意见!

标签: codenameone


【解决方案1】:

我们限制大小,因为大小与服务器上的构建时间直接相关,并且可能会减少共享资源,从而使每个人的构建速度变慢。

到目前为止,每个达到 50mb 限制的人都通过坚持大量资源或只是将 android sdk JAR 添加到构建中来做到这一点......

这里有一些关于 shrinking 罐子大小的讨论。

请记住,50mb 在部署时会增加一个倍数。例如。 Kitchen Sink 在构建时约为 700kb,但在 iOS 生产中为 5mb,在通过 Apple 流程到商店后为 13mb。

在同样的因素下,一个 50mb 的应用程序将是一个 500mb 的应用程序在生产中......

Apple 和 Google 对超过 100mb 阈值的应用程序进行 OTA 下载等限制,虽然这可能不会影响 Facebook 等主要应用程序,但对其他公司来说可能会很痛苦。

这是我们don't support the full Java API的主要原因之一...

我建议解压缩生成的 JAR 并查看内部以查看占用最多空间的内容,然后询问如何缩小/减少它。如果所有代码都无法以任何方式优化/减少并且您不关心限制,那么唯一适合您的解决方法是offline builds,它远非理想,但它会节省共享资源。

【讨论】:

  • 好吧,我知道发生了什么!我已经复制/粘贴了 5 次以尝试新布局的有点糟糕(或大)的 theme.res 文件。所有这 5 个主题都被打包。非常感谢您的反馈。继续努力!
猜你喜欢
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 2022-07-19
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
相关资源
最近更新 更多