【问题标题】: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 文件并构建和运行您的应用。现在看看您的应用程序大小的差异。
【解决方案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。