how to reduce app size increased after admob ads?

2019-04-15 22:51发布

before adding google-play-services to my project its size was just 900kb and after adding lib of play services it is now 4.01MB. its terrible. for 900kb app ads of 3MB is too much.

help me as soon as possible. my app is finished now.

I tried reading about proguard but unable to understand. someone please give me step by step tutorial to reduce app size.

3条回答
Animai°情兽
2楼-- · 2019-04-15 23:17

Take a look at this suggestion

The library for Google play service is located at

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

After editing the jar, put it in the libs folder of your app.

Add the depencies in build.gradle

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

In the manifest you need to specify the version

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

The version number can be found in the manifest file in the folder indicated above

Example:

<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>
查看更多
Explosion°爆炸
3楼-- · 2019-04-15 23:21

From version 6.5, you can instead selectively compile Google Play service APIs into your app.

I tested. It really works. We MUST to do this to reduce APK size. :)

And do you use Android Studio? I don't know how to do this on Eclipse.

Check this document.

查看更多
我命由我不由天
4楼-- · 2019-04-15 23:30

You don't need to edit google-play-services.jar file. Use proguard to keep only needed class files.

Create proguard.txt file in your module directory (e.g. app/) and write following lines in that file:

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

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

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

Now write following lines in your module's build.gradle file (for e.g. app/build.gradle):

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

Sync your gradle file and build & run your app. Now see the difference in size of your app.

查看更多
登录 后发表回答