play-services-ads-lite 11 - libs broken

241 views
Skip to first unread message

Kostya Vasilyev

unread,
Jul 7, 2017, 7:30:39 AM7/7/17
to Google Mobile Ads SDK Developers
Hi,

I'm trying to use play-services-ads-lite instead of play-services-ads to reduce the apk's size, as suggested here:


My list of Google dependencies is like this:

 'com.google.firebase:firebase-messaging:' + firebase_version,
 'com.google.android.gms:play-services-ads-lite:' + firebase_version,
 'com.google.android.gms:play-services-auth:' + firebase_version,
 'com.google.android.gms:play-services-tagmanager-v4-impl:' + firebase_version

It's not working:

In release builds, ProGuard complains about some unresolved refs:

Warning: com.google.ads.afma.nano.NanoAdshieldEvent$AdShieldEvent: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAdshieldEvent$AdShieldEvent
Warning: com.google.ads.afma.nano.NanoAfmaSignals$AFMASignals: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAfmaSignals$AFMASignals
Warning: com.google.ads.afma.nano.NanoAfmaSignals$AFMASignals$TouchInfo: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAfmaSignals$AFMASignals$TouchInfo
Warning: com.google.ads.afma.nano.NanoAfmaSignals$AdAttestationSignal: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAfmaSignals$AdAttestationSignal
Warning: com.google.ads.afma.nano.NanoAfmaSignals$AdSignalsContainer: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAfmaSignals$AdSignalsContainer
Warning: com.google.ads.afma.nano.NanoAfmaSignals$RawAdAttestationSignal: can't find referenced field 'int zzbuu' in program class com.google.ads.afma.nano.NanoAfmaSignals$RawAdAttestationSignal

In debug builds, dex'ing fails:

Execution failed for task ':transformClassesWithJarMergingForMarketDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zze.class

Resolved dependencies:

+--- com.google.firebase:firebase-messaging:11.0+ -> 11.0.2
|    +--- com.google.firebase:firebase-iid:[11.0.2] -> 11.0.2
|    |    +--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    |    \--- com.google.firebase:firebase-common:[11.0.2] -> 11.0.2
|    |         +--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    |         \--- com.google.android.gms:play-services-tasks:[11.0.2] -> 11.0.2
|    |              \--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    +--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    \--- com.google.firebase:firebase-common:[11.0.2] -> 11.0.2 (*)
+--- com.google.android.gms:play-services-ads-lite:11.0+ -> 11.0.2
|    \--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
+--- com.google.android.gms:play-services-auth:11.0+ -> 11.0.2
|    +--- com.google.android.gms:play-services-auth-base:[11.0.2] -> 11.0.2
|    |    +--- com.google.android.gms:play-services-base:[11.0.2] -> 11.0.2
|    |    |    +--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    |    |    \--- com.google.android.gms:play-services-tasks:[11.0.2] -> 11.0.2 (*)
|    |    \--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    +--- com.google.android.gms:play-services-base:[11.0.2] -> 11.0.2 (*)
|    +--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    \--- com.google.android.gms:play-services-tasks:[11.0.2] -> 11.0.2 (*)
+--- com.google.android.gms:play-services-tagmanager-v4-impl:11.0+ -> 11.0.2
|    +--- com.google.android.gms:play-services-analytics-impl:[11.0.2] -> 11.0.2
|    |    +--- com.google.android.gms:play-services-base:[11.0.2] -> 11.0.2 (*)
|    |    \--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2
|    +--- com.google.android.gms:play-services-base:[11.0.2] -> 11.0.2 (*)
|    \--- com.google.android.gms:play-services-basement:[11.0.2] -> 11.0.2


Both (release and debug) issues look to me like bugs in the Google SDKs....

Can someone from Google confirm and let me know the next steps for getting this fixed (should I file a bug somewhere, any idea if it'll be looked at...)

Thanks,
-- K

Deepika Uragayala- MobileAds SDK team

unread,
Jul 7, 2017, 1:53:00 PM7/7/17
to Google Mobile Ads SDK Developers
Hi Kostya, 

If you are using ProGuard, make sure to strip non-essential methods and expose the public one's as mentioned here.

Let us know if that helps.

Regards,
Deepika Uragayala
Mobile Ads SDK Team

Kostya Vasilyev

unread,
Jul 7, 2017, 3:00:21 PM7/7/17
to google-adm...@googlegroups.com
Deepika,

Thank you for responding.

I copied the Proguard rules from your link into my project's Proguard config file, verbatim.

Made no difference whatsoever.

Please note that Debug builds are failing too - albeit with a different error - and Debug builds are not ProGuard'ed.

Please advise.

Thanks,
-- K

--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/cKNbdbj0bAM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.
To post to this group, send email to google-admob-ads-sdk@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Deepika Uragayala- MobileAds SDK team

unread,
Jul 7, 2017, 6:55:29 PM7/7/17
to Google Mobile Ads SDK Developers
Hi there,

Can you confirm whether this is happening with our sample apps? And only with our Mobile Ads SDK lite version? I was able to build using the lite version without any issues. It could be related to Firebase SDK if you are able to build using our sample apps, in which case, I would suggest that you contact their support directly about this. Also, this link might be useful if it's related to Firebase SDK.

Regards,
Deepika Uragayala
Mobile Ads SDK Team


On Friday, July 7, 2017 at 3:00:21 PM UTC-4, Kostya Vasilyev wrote:
Deepika,

Thank you for responding.

I copied the Proguard rules from your link into my project's Proguard config file, verbatim.

Made no difference whatsoever.

Please note that Debug builds are failing too - albeit with a different error - and Debug builds are not ProGuard'ed.

Please advise.

Thanks,
-- K

Kostya Vasilyev

unread,
Jul 8, 2017, 5:00:40 PM7/8/17
to google-adm...@googlegroups.com
Hi,

Thanks for your help - I spent some time trying to reproduce with your sample...

... and was able to reproduce, but only after adding an additional dependency used in my project (not Google Ads or Firebase).

As it turns out, this dependency was pulling in an old version of a Google library, thus the project ended up with a mix of two versions.

Problem solved, thanks for your help.

Lesson learned:

When there is a Google Services / Support library issue, go over "gradle dependencies" to check if some library is getting pulled in more than one, at different versions.

Thanks again!

-- K
Reply all
Reply to author
Forward
0 new messages