admob广告后如何减小应用程序大小?

Posted

技术标签:

【中文标题】admob广告后如何减小应用程序大小?【英文标题】:how to reduce app size increased after admob ads? 【发布时间】:2014-09-18 15:27:03 【问题描述】:

在我的项目中添加 google-play-services 之前,它的大小只有 900kb,而在添加播放服务库之后,它现在是 4.01MB。它是可怕的。对于 3MB 的 900kb 应用广告来说太多了。

尽快帮助我。我的应用程序现在完成了。

我尝试阅读有关 proguard 的内容,但无法理解。有人请给我一步一步的教程来减少应用程序的大小。

【问题讨论】:

【参考方案1】:

您无需编辑 google-play-services.jar 文件。使用 proguard 只保留需要的类文件。

在您的模块目录(例如 app/)中创建 proguard.txt 文件,并在该文件中写入以下行:

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


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


-dontwarn com.google.android.gms.**

现在在模块的 build.gradle 文件中写入以下行(例如 app/build.gradle):

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

...

同步您的 gradle 文件并构建和运行您的应用。现在看看您的应用程序大小的差异。

【讨论】:

【参考方案2】:

如果您不是在 Google Play 之外分发您的应用,您可以查看精简版的 Google Mobile Ads SDK

https://developers.google.com/admob/android/lite-sdk

【讨论】:

【参考方案3】:

看看这个suggestion

Google play 服务库位于

SDK_PATH\extras\google\google_play_services\libproject\google-play-services_lib\libs

编辑完jar后,放到你应用的libs文件夹中。

在 build.gradle 中添加依赖

dependencies 
    compile files('libs/google-play-services.jar')

在manifest中你需要指定版本

<meta-data android:name="com.google.android.gms.version" 
      android:value="#####" />

版本号可在上述文件夹中的清单文件中找到

例子:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     android:versionCode="5089000" 
     android:versionName="5.0.89-000" package="com.google.android.gms">
    <uses-sdk android:minSdkVersion="9"/>
    <application/>
</manifest>

【讨论】:

【参考方案4】:

从 6.5 版开始,您可以有选择地将 Google Play 服务 API 编译到您的应用中。

我测试过。真的行。我们必须这样做以减小 APK 大小。 :)

你使用 Android Studio 吗?我不知道如何在 Eclipse 上执行此操作。

检查这个document。

【讨论】:

以上是关于admob广告后如何减小应用程序大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何停用Admob插页式广告?

如何正确停止展示 AdMob 横幅广告?

应用上线后 Admob(广告)不显示

将旧版 Admob 移动到新的 Admob 帐户后,是不是必须使用新的广告单元 ID 更新我的应用

Admob违规消息Android应用程序

如何将admob广告添加到助手?