【问题标题】:APK size increased after integrating admob , how much expected?集成 admob 后 APK 大小增加了,预计多少?
【发布时间】:2015-12-19 18:13:53
【问题描述】:

我在我的小应用程序中集成了 admob,我发现 apk 大小增加了 1 mb,这正常吗?或者我可以进一步减少它。以下是我在集成 admob 时所做的事情。

Apk 大小从 1,791 kb 增加到 2,677 kb

1) 添加了仅需要的依赖项

dependencies {
    compile 'com.google.android.gms:play-services-ads:8.3.0'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

2)添加了proguard行

-keep public class com.google.android.gms.ads.** { public *; }

-keep public class com.google.ads.** { public *; }

根据你的经验,我还能做些什么来进一步减少它,增加多少是正常的?

【问题讨论】:

  • 改用 firebase 广告依赖项,并使用“minifyEnabled true”应用“shrinkResources true”。您会感觉到 apk 大小的明显差异。祝你好运!

标签: android admob apk


【解决方案1】:

您需要将这些添加到您的 gradle.build 文件中

buildTypes {
debug {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.txt'
}
release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.txt'
}
...
}

【讨论】:

【解决方案2】:

注意到大约增加了 1 到 2 mb。稍后添加其他网络 sdks 时会更多(如果您这样做)。

使用广告网络时要小心 proguard,并对所有广告类型(文本、图片和视频)(横幅、插页式和其他类型)进行彻底测试。有时,我们认为可以正常工作的特定类型存在问题,因为在调试时一种类型可以正常工作。

【讨论】:

  • 我只有横幅广告,我们的应用是小型动态壁纸,因此即使增加 1 mb 也很重要。
  • 是的,但是为了让广告网络正常工作,您需要做的就是这么多。您可以尝试使用 proguard 来删除除横幅以外的类型的更多类。目前,您保留所有公开课程。但正如我所说,这是有风险的。不过,如果您有足够的时间,还是值得一试的。
  • 为此,您需要检查播放服务源代码并确定横幅广告真正需要哪些类。
  • Google Play 服务 (AdMob) 现在附带一个 proguard 配置,因此您不应添加任何内容。您也可以尝试添加shrinkResources = true 以尝试缩小 APK 大小。
猜你喜欢
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多