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

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

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

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

【问题讨论】:

    标签: android admob google-play-services 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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-04-04
            • 1970-01-01
            • 2021-01-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多