admob - Didn't find class "com.google.android.gms.ads.internal.ClientApi" -


i'm using google play service v.9.2.1, (modules ads-lite , basement). admob test ads show fine, warnings written logcat:

w/ads(): failed instantiate clientapi class. w/ads(): java.lang.classnotfoundexception: didn't find class "com.google.android.gms.ads.internal.clientapi" on path: /data/app/myapp.apk w/ads():    @ dalvik.system.basedexclassloader.findclass(basedexclassloader.java:65) w/ads():    @ java.lang.classloader.loadclass(classloader.java:501) w/ads():    @ java.lang.classloader.loadclass(classloader.java:461) w/ads():    @ com.google.android.gms.ads.internal.client.zzl.zzik(unknown source) w/ads():    @ com.google.android.gms.ads.internal.client.zzl.zzil(unknown source) w/ads():    @ com.google.android.gms.ads.internal.client.zzl.zza(unknown source) w/ads():    @ com.google.android.gms.ads.internal.client.zzl$zza.zziu(unknown source) w/ads():    @ com.google.android.gms.ads.internal.client.zzl.zza(unknown source) w/ads():    @ com.google.android.gms.ads.internal.client.zzl.zzc(unknown source) w/ads():    @ com.google.android.gms.ads.adactivity.oncreate(unknown source) w/ads():    @ android.app.activity.performcreate(activity.java:5283) w/ads(): clientapi class cannot loaded. 

these warnings appear no proguard used. need include additional libraries?

yes. since you're using mobile ads, need add proguard. prevents public methods on public classes in google mobile ads sdk being obfuscated.

to safely use proguard google mobile ads, add following proguard config:

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

this thread may offer additonal insight well.


Comments