【问题标题】:apk size bloats when switched from admob standalone SDK to google play services SDK从 admob 独立 SDK 切换到 google play services SDK 时,apk 大小会膨胀
【发布时间】:2014-05-13 21:23:31
【问题描述】:

使用 Admob SDK,我的 apk 大小为 230Kb。 当用 google play services SDK 替换 Admob SDK 时,它是 1.5MB(超过 6 倍膨胀)。

我猜想完整的“谷歌播放服务客户端 SDK”成为我的应用程序的一部分,因此变得臃肿。

如何仅从“google play services client SDK”中单独包含“广告”组件?

谢谢

【问题讨论】:

  • “如何仅包含来自“谷歌播放服务客户端 SDK”的“广告”组件?” - AFAIK,你不能。问题可能来自资源,因为我知道 Play Service 库项目在很多翻译中有很多字符串。作为新的基于 Gradle 的构建系统的一部分,我们正在努力寻找优化这一点的方法。
  • 6 年后的今天,谷歌播放广告将我的应用程序增加了 2.7MB,但如果你想缩小它,有一个“精简”版本

标签: android admob google-play-services


【解决方案1】:

出于同样的原因,我不想更改用于 Google Play 服务的独立 Admob SDK。使用新库后,我的 apk 的大小几乎翻了三倍。但随着 Admob 弃用旧 SDK,是时候开始使用它了。

正如CommosnWare 提到的,图书馆附带的资源数量是一个问题。我反编译了我的apk,发现里面有很多G+相关的图片。因为在这个特定的应用程序中我只使用 Admob 功能,所以我决定覆盖这些图像,并且这样做 apk 将其大小减少了 292Kb

为了覆盖这些资源,我创建了空图像并将它们放在我的应用程序的可绘制文件夹中,并具有完全相同的名称。 Android Studio 使用这些资源而不是库资源。

如果你愿意,可以从这里下载我使用的资源:@​​987654321@

我还没有在生产中使用它,我不知道这是否会违反 Google Play Services TOS。但这是我发现添加 Google Play 服务后减小应用程序大小的唯一方法。我希望他们尽快提供更好的解决方案。

【讨论】:

  • 这可能违反了谷歌的服务条款。在这里检查#9。 bigknol.com/admob-account-disabled-after-implementation
  • 这个实现有什么更新吗??。你试过在生产中使用它吗?我很快就会发布一个新应用程序,真的很想知道这种方法是否适合你!
  • 嗨,Akshit,我已经在一个应用程序上使用了它,到目前为止没有任何问题。所以它对我有用,但这只是一个特例。虽然我认为这不违反 TOS,但我不确定。我仍然希望他们提供更好的解决方案。问候。
【解决方案2】:

我和你有同样的问题。我导入了它的 jar 文件而不是 libproject 并使用 proguard 仅过滤来自 com.google.android.gms.ads.** 的类,结果很好。 apk 文件比使用独立 Admob SDK 多 100KB。但我不知道它是否适用于任何情况。

【讨论】:

    【解决方案3】:

    广告客户端现在划分为play-services-ads。更好的是,您现在可以使用依赖项com.google.android.gms:play-services-ads-lite,这是一个较小的库。它向我优化的 APK 添加了“仅”大约 4k 方法引用。 https://admob.googleblog.com/2016/07/keep-your-android-apps-nimble-with.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      相关资源
      最近更新 更多