Skip to content

Instantly share code, notes, and snippets.

@ChanSek
Created July 19, 2017 10:59
Show Gist options
  • Save ChanSek/aeafdc2fac4653649739d9a2c68757ff to your computer and use it in GitHub Desktop.
Save ChanSek/aeafdc2fac4653649739d9a2c68757ff to your computer and use it in GitHub Desktop.
ProGuard warnings for Google Play Services
Initializing...
Note: com.google.android.gms.cast.framework.CastContext calls '(com.google.android.gms.cast.framework.OptionsProvider)Class.forName(variable).newInstance()'
Note: com.google.android.gms.internal.ql: can't find dynamically referenced class com.google.appengine.api.ThreadManager
Note: com.google.android.gms.internal.zzcem: can't find dynamically referenced class android.os.SystemProperties
Note: com.google.protobuf.zzc: can't find dynamically referenced class com.google.protobuf.ExtensionRegistry
Note: com.google.protobuf.zzd: can't find dynamically referenced class com.google.protobuf.Extension
Note: com.google.protobuf.zze: can't find dynamically referenced class libcore.io.Memory
Note: com.google.protobuf.zze: can't find dynamically referenced class org.robolectric.Robolectric
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.AdRequest zza(android.content.Context,com.google.android.
gms.ads.mediation.MediationAdRequest,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.Me
diationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor cla
ss 'com.google.android.gms.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.Me
diationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor cla
ss 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads.mediation.Me
diationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor cla
ss 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediat
ion.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android
.gms.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediat
ion.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android
.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads.mediation.Me
diationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.a
ds.mediation.MediationNativeListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads.mediation.Me
diationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.a
ds.mediation.NativeMediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void initialize(android.content.Context,com.google.android.gms.ads.mediation.Mediati
onAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'co
m.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void initialize(android.content.Context,com.google.android.gms.ads.mediation.Mediati
onAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'co
m.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { void loadAd(com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundl
e,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.AbstractAdViewAdapter { com.google.android.gms.ads.InterstitialAd zza(com.google.ads.mediation.AbstractAdVie
wAdapter,com.google.android.gms.ads.InterstitialAd); }', but not the descriptor class 'com.google.android.gms.ads.InterstitialAd'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationBannerAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,android.app.A
ctivity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not th
e descriptor class 'com.google.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationBannerAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,android.app.A
ctivity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not th
e descriptor class 'com.google.ads.mediation.MediationServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationBannerAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,android.app.A
ctivity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not th
e descriptor class 'com.google.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationBannerAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,android.app.A
ctivity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not th
e descriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationBannerAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,android.app.A
ctivity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not th
e descriptor class 'com.google.ads.mediation.NetworkExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialList
ener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the de
scriptor class 'com.google.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialList
ener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the de
scriptor class 'com.google.ads.mediation.MediationServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialList
ener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the de
scriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialList
ener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the de
scriptor class 'com.google.ads.mediation.NetworkExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediat
ion.customevent.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediat
ion.customevent.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.customevent.CustomEventServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediat
ion.customevent.CustomEventExtras); }', but not the descriptor class 'com.google.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediat
ion.customevent.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediat
ion.customevent.CustomEventExtras); }', but not the descriptor class 'com.google.android.gms.ads.mediation.customevent.CustomEventExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediation.custom
event.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediation.custom
event.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.customevent.CustomEventServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediation.custom
event.CustomEventExtras); }', but not the descriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.customevent.CustomEventServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.android.gms.ads.mediation.custom
event.CustomEventExtras); }', but not the descriptor class 'com.google.android.gms.ads.mediation.customevent.CustomEventExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', bu
t not the descriptor class 'com.google.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', bu
t not the descriptor class 'com.google.ads.mediation.MediationServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', bu
t not the descriptor class 'com.google.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', bu
t not the descriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(com.google.ads.mediation.MediationBannerListener,andro
id.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', bu
t not the descriptor class 'com.google.ads.mediation.NetworkExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the
descriptor class 'com.google.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the
descriptor class 'com.google.ads.mediation.MediationServerParameters'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the
descriptor class 'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(com.google.ads.mediation.MediationInterstitialLi
stener,android.app.Activity,com.google.ads.mediation.MediationServerParameters,com.google.ads.mediation.MediationAdRequest,com.google.ads.mediation.NetworkExtras); }', but not the
descriptor class 'com.google.ads.mediation.NetworkExtras'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(com.google.ads.mediation.customevent.CustomEventBannerL
istener,android.app.Activity,java.lang.String,java.lang.String,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,java.lang.Object); }', but not the descriptor class
'com.google.ads.mediation.customevent.CustomEventBannerListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(com.google.ads.mediation.customevent.CustomEventBannerL
istener,android.app.Activity,java.lang.String,java.lang.String,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,java.lang.Object); }', but not the descriptor class
'com.google.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(com.google.ads.mediation.customevent.CustomEventBannerL
istener,android.app.Activity,java.lang.String,java.lang.String,com.google.ads.AdSize,com.google.ads.mediation.MediationAdRequest,java.lang.Object); }', but not the descriptor class
'com.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventInterstitial { void requestInterstitialAd(com.google.ads.mediation.customevent.Custom
EventInterstitialListener,android.app.Activity,java.lang.String,java.lang.String,com.google.ads.mediation.MediationAdRequest,java.lang.Object); }', but not the descriptor class 'co
m.google.ads.mediation.customevent.CustomEventInterstitialListener'
Note: the configuration keeps the entry point 'com.google.ads.mediation.customevent.CustomEventInterstitial { void requestInterstitialAd(com.google.ads.mediation.customevent.Custom
EventInterstitialListener,android.app.Activity,java.lang.String,java.lang.String,com.google.ads.mediation.MediationAdRequest,java.lang.Object); }', but not the descriptor class 'co
m.google.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.google.a
ndroid.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.AdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class 'com.
google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.BaseAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descriptor class '
com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.BaseAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class 'com.goog
le.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setVideoOptions(com.google.android.gms.ads.VideoOptions); }', but not the descr
iptor class 'com.google.android.gms.ads.VideoOptions'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class
'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.NativeExpressAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descripto
r class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setVideoOptions(com.google.android.gms.ads.VideoOptions); }', but not t
he descriptor class 'com.google.android.gms.ads.VideoOptions'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the d
escriptor class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAdSizes(com.google.android.gms.ads.AdSize[]); }', but not the descri
ptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setAppEventListener(com.google.android.gms.ads.doubleclick.AppEventList
ener); }', but not the descriptor class 'com.google.android.gms.ads.doubleclick.AppEventListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setCorrelator(com.google.android.gms.ads.Correlator); }', but not the d
escriptor class 'com.google.android.gms.ads.Correlator'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.doubleclick.PublisherAdView { void setOnCustomRenderedAdLoadedListener(com.google.android.gms.ads.doublecl
ick.OnCustomRenderedAdLoadedListener); }', but not the descriptor class 'com.google.android.gms.ads.doubleclick.OnCustomRenderedAdLoadedListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeAdView { void setAdChoicesView(com.google.android.gms.ads.formats.AdChoicesView); }', but no
t the descriptor class 'com.google.android.gms.ads.formats.AdChoicesView'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeAdView { void setNativeAd(com.google.android.gms.ads.formats.NativeAd); }', but not the desc
riptor class 'com.google.android.gms.ads.formats.NativeAd'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeAppInstallAdView { void setMediaView(com.google.android.gms.ads.formats.MediaView); }', but
not the descriptor class 'com.google.android.gms.ads.formats.MediaView'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.formats.NativeContentAdView { void setMediaView(com.google.android.gms.ads.formats.MediaView); }', but not
the descriptor class 'com.google.android.gms.ads.formats.MediaView'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzjz createBannerAdManager(com.google.android.gms.dyn
amic.IObjectWrapper,com.google.android.gms.internal.zziv,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.dynami
c.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzjz createBannerAdManager(com.google.android.gms.dyn
amic.IObjectWrapper,com.google.android.gms.internal.zziv,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.intern
al.zzuq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzjz createSearchAdManager(com.google.android.gms.dyn
amic.IObjectWrapper,com.google.android.gms.internal.zziv,java.lang.String,int); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzjz createInterstitialAdManager(com.google.android.g
ms.dynamic.IObjectWrapper,com.google.android.gms.internal.zziv,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.
dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzjz createInterstitialAdManager(com.google.android.g
ms.dynamic.IObjectWrapper,com.google.android.gms.internal.zziv,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.
internal.zzuq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzju createAdLoaderBuilder(com.google.android.gms.dyn
amic.IObjectWrapper,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzju createAdLoaderBuilder(com.google.android.gms.dyn
amic.IObjectWrapper,java.lang.String,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzuq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzkn getMobileAdsSettingsManager(com.google.android.g
ms.dynamic.IObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzkn getMobileAdsSettingsManagerWithClientJarVersion(
com.google.android.gms.dynamic.IObjectWrapper,int); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzow createNativeAdViewDelegate(com.google.android.gm
s.dynamic.IObjectWrapper,com.google.android.gms.dynamic.IObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzow createNativeAdViewDelegate(com.google.android.gm
s.dynamic.IObjectWrapper,com.google.android.gms.dynamic.IObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzacy createRewardedVideoAd(com.google.android.gms.dy
namic.IObjectWrapper,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzacy createRewardedVideoAd(com.google.android.gms.dy
namic.IObjectWrapper,com.google.android.gms.internal.zzuq,int); }', but not the descriptor class 'com.google.android.gms.internal.zzuq'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzxj createInAppPurchaseManager(com.google.android.gm
s.dynamic.IObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.internal.ClientApi { com.google.android.gms.internal.zzwx createAdOverlay(com.google.android.gms.dynamic.I
ObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationBannerAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads
.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the d
escriptor class 'com.google.android.gms.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationBannerAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads
.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the d
escriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationBannerAdapter { void requestBannerAd(android.content.Context,com.google.android.gms.ads
.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the d
escriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(android.content.Context,com.google.and
roid.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class
'com.google.android.gms.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationInterstitialAdapter { void requestInterstitialAd(android.content.Context,com.google.and
roid.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class
'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationNativeAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads
.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.
android.gms.ads.mediation.MediationNativeListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.MediationNativeAdapter { void requestNativeAd(android.content.Context,com.google.android.gms.ads
.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.
android.gms.ads.mediation.NativeMediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(android.content.Context,com.google.android
.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but n
ot the descriptor class 'com.google.android.gms.ads.mediation.MediationBannerListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(android.content.Context,com.google.android
.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but n
ot the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestBannerAd(android.content.Context,com.google.android
.gms.ads.mediation.MediationBannerListener,android.os.Bundle,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but n
ot the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(android.content.Context,com.google.a
ndroid.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor clas
s 'com.google.android.gms.ads.mediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestInterstitialAd(android.content.Context,com.google.a
ndroid.gms.ads.mediation.MediationInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor clas
s 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestNativeAd(android.content.Context,com.google.android
.gms.ads.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com
.google.android.gms.ads.mediation.MediationNativeListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventAdapter { void requestNativeAd(android.content.Context,com.google.android
.gms.ads.mediation.MediationNativeListener,android.os.Bundle,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com
.google.android.gms.ads.mediation.NativeMediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(android.content.Context,com.google.android.
gms.ads.mediation.customevent.CustomEventBannerListener,java.lang.String,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle
); }', but not the descriptor class 'com.google.android.gms.ads.mediation.customevent.CustomEventBannerListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(android.content.Context,com.google.android.
gms.ads.mediation.customevent.CustomEventBannerListener,java.lang.String,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle
); }', but not the descriptor class 'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventBanner { void requestBannerAd(android.content.Context,com.google.android.
gms.ads.mediation.customevent.CustomEventBannerListener,java.lang.String,com.google.android.gms.ads.AdSize,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle
); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitial { void requestInterstitialAd(android.content.Context,com.goo
gle.android.gms.ads.mediation.customevent.CustomEventInterstitialListener,java.lang.String,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not t
he descriptor class 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitialListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventInterstitial { void requestInterstitialAd(android.content.Context,com.goo
gle.android.gms.ads.mediation.customevent.CustomEventInterstitialListener,java.lang.String,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not t
he descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventNative { void requestNativeAd(android.content.Context,com.google.android.
gms.ads.mediation.customevent.CustomEventNativeListener,java.lang.String,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descripto
r class 'com.google.android.gms.ads.mediation.customevent.CustomEventNativeListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.mediation.customevent.CustomEventNative { void requestNativeAd(android.content.Context,com.google.android.
gms.ads.mediation.customevent.CustomEventNativeListener,java.lang.String,com.google.android.gms.ads.mediation.NativeMediationAdRequest,android.os.Bundle); }', but not the descripto
r class 'com.google.android.gms.ads.mediation.NativeMediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.reward.mediation.InitializableMediationRewardedVideoAdAdapter { void initialize(android.content.Context,co
m.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,java.util.List); }', but not the descriptor class 'com.google.android.gms.ads.reward.mediation.MediationR
ewardedVideoAdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdAdapter { void initialize(android.content.Context,com.google.andr
oid.gms.ads.mediation.MediationAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but
not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdAdapter { void initialize(android.content.Context,com.google.andr
oid.gms.ads.mediation.MediationAdRequest,java.lang.String,com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener,android.os.Bundle,android.os.Bundle); }', but
not the descriptor class 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.reward.mediation.MediationRewardedVideoAdAdapter { void loadAd(com.google.android.gms.ads.mediation.Mediat
ionAdRequest,android.os.Bundle,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.mediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.search.SearchAdView { void setAdListener(com.google.android.gms.ads.AdListener); }', but not the descripto
r class 'com.google.android.gms.ads.AdListener'
Note: the configuration keeps the entry point 'com.google.android.gms.ads.search.SearchAdView { void setAdSize(com.google.android.gms.ads.AdSize); }', but not the descriptor class
'com.google.android.gms.ads.AdSize'
Note: the configuration keeps the entry point 'com.google.android.gms.flags.impl.FlagProviderImpl { void init(com.google.android.gms.dynamic.IObjectWrapper); }', but not the descri
ptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.internal.zzwd { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediation.Mediat
ionInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.m
ediation.MediationInterstitialListener'
Note: the configuration keeps the entry point 'com.google.android.gms.internal.zzwd { void requestInterstitialAd(android.content.Context,com.google.android.gms.ads.mediation.Mediat
ionInterstitialListener,android.os.Bundle,com.google.android.gms.ads.mediation.MediationAdRequest,android.os.Bundle); }', but not the descriptor class 'com.google.android.gms.ads.m
ediation.MediationAdRequest'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { AppMeasurement(com.google.android.gms.internal.zzcgl); }', but not the descriptor
class 'com.google.android.gms.internal.zzcgl'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { void setEventInterceptor(com.google.android.gms.measurement.AppMeasurement$EventI
nterceptor); }', but not the descriptor class 'com.google.android.gms.measurement.AppMeasurement$EventInterceptor'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { void registerOnMeasurementEventListener(com.google.android.gms.measurement.AppMea
surement$OnEventListener); }', but not the descriptor class 'com.google.android.gms.measurement.AppMeasurement$OnEventListener'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { void unregisterOnMeasurementEventListener(com.google.android.gms.measurement.AppM
easurement$OnEventListener); }', but not the descriptor class 'com.google.android.gms.measurement.AppMeasurement$OnEventListener'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { void registerOnScreenChangeCallback(com.google.android.gms.measurement.AppMeasure
ment$zza); }', but not the descriptor class 'com.google.android.gms.measurement.AppMeasurement$zza'
Note: the configuration keeps the entry point 'com.google.android.gms.measurement.AppMeasurement { void unregisterOnScreenChangeCallback(com.google.android.gms.measurement.AppMeasu
rement$zza); }', but not the descriptor class 'com.google.android.gms.measurement.AppMeasurement$zza'
Note: the configuration keeps the entry point 'com.google.android.gms.plus.PlusOneButton { void setOnPlusOneClickListener(com.google.android.gms.plus.PlusOneButton$OnPlusOneClickLi
stener); }', but not the descriptor class 'com.google.android.gms.plus.PlusOneButton$OnPlusOneClickListener'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void initialize(com.google.android.gms.dynamic.IObjectWrapper,com.google.androi
d.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void initialize(com.google.android.gms.dynamic.IObjectWrapper,com.google.androi
d.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.tagmanager.zzcn'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void initialize(com.google.android.gms.dynamic.IObjectWrapper,com.google.androi
d.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.tagmanager.zzce'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void preview(android.content.Intent,com.google.android.gms.dynamic.IObjectWrapp
er); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void previewIntent(android.content.Intent,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.android.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.
android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void previewIntent(android.content.Intent,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.android.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.
android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void previewIntent(android.content.Intent,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.android.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.
android.gms.tagmanager.zzcn'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerApiImpl { void previewIntent(android.content.Intent,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.android.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.
android.gms.tagmanager.zzce'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerServiceProviderImpl { com.google.android.gms.internal.zzcvg getService(com.google.android
.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.dynamic.IObject
Wrapper'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerServiceProviderImpl { com.google.android.gms.internal.zzcvg getService(com.google.android
.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.tagmanager.zzcn
'
Note: the configuration keeps the entry point 'com.google.android.gms.tagmanager.TagManagerServiceProviderImpl { com.google.android.gms.internal.zzcvg getService(com.google.android
.gms.dynamic.IObjectWrapper,com.google.android.gms.tagmanager.zzcn,com.google.android.gms.tagmanager.zzce); }', but not the descriptor class 'com.google.android.gms.tagmanager.zzce
'
Note: the configuration keeps the entry point 'com.google.firebase.analytics.FirebaseAnalytics { FirebaseAnalytics(com.google.android.gms.internal.zzcgl); }', but not the descripto
r class 'com.google.android.gms.internal.zzcgl'
Note: the configuration keeps the entry point 'com.google.firebase.auth.FirebaseAuth { com.google.firebase.auth.FirebaseAuth getInstance(com.google.firebase.FirebaseApp); }', but n
ot the descriptor class 'com.google.firebase.FirebaseApp'
Note: the configuration keeps the entry point 'com.google.firebase.crash.FirebaseCrash { com.google.firebase.crash.FirebaseCrash getInstance(com.google.firebase.FirebaseApp); }', b
ut not the descriptor class 'com.google.firebase.FirebaseApp'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { com.google.firebase.database.connection.idl.zzt loadDynamic(a
ndroid.content.Context,com.google.firebase.database.connection.idl.zzc,com.google.android.gms.internal.oh,java.util.concurrent.ScheduledExecutorService,com.google.android.gms.inter
nal.oo); }', but not the descriptor class 'com.google.android.gms.internal.oh'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { com.google.firebase.database.connection.idl.zzt loadDynamic(a
ndroid.content.Context,com.google.firebase.database.connection.idl.zzc,com.google.android.gms.internal.oh,java.util.concurrent.ScheduledExecutorService,com.google.android.gms.inter
nal.oo); }', but not the descriptor class 'com.google.android.gms.internal.oo'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void setup(com.google.firebase.database.connection.idl.zzc,co
m.google.firebase.database.connection.idl.zzk,com.google.android.gms.dynamic.IObjectWrapper,com.google.firebase.database.connection.idl.zzw); }', but not the descriptor class 'com.
google.firebase.database.connection.idl.zzk'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void setup(com.google.firebase.database.connection.idl.zzc,co
m.google.firebase.database.connection.idl.zzk,com.google.android.gms.dynamic.IObjectWrapper,com.google.firebase.database.connection.idl.zzw); }', but not the descriptor class 'com.
google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void setup(com.google.firebase.database.connection.idl.zzc,co
m.google.firebase.database.connection.idl.zzk,com.google.android.gms.dynamic.IObjectWrapper,com.google.firebase.database.connection.idl.zzw); }', but not the descriptor class 'com.
google.firebase.database.connection.idl.zzw'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void listen(java.util.List,com.google.android.gms.dynamic.IOb
jectWrapper,com.google.firebase.database.connection.idl.zzq,long,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic
.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void listen(java.util.List,com.google.android.gms.dynamic.IOb
jectWrapper,com.google.firebase.database.connection.idl.zzq,long,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.c
onnection.idl.zzq'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void listen(java.util.List,com.google.android.gms.dynamic.IOb
jectWrapper,com.google.firebase.database.connection.idl.zzq,long,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.c
onnection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void unlisten(java.util.List,com.google.android.gms.dynamic.I
ObjectWrapper); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void put(java.util.List,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void put(java.util.List,com.google.android.gms.dynamic.IObjec
tWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void compareAndPut(java.util.List,com.google.android.gms.dyna
mic.IObjectWrapper,java.lang.String,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void compareAndPut(java.util.List,com.google.android.gms.dyna
mic.IObjectWrapper,java.lang.String,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void merge(java.util.List,com.google.android.gms.dynamic.IObj
ectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void merge(java.util.List,com.google.android.gms.dynamic.IObj
ectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void onDisconnectPut(java.util.List,com.google.android.gms.dy
namic.IObjectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void onDisconnectPut(java.util.List,com.google.android.gms.dy
namic.IObjectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void onDisconnectMerge(java.util.List,com.google.android.gms.
dynamic.IObjectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.android.gms.dynamic.IObjectWrapper'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void onDisconnectMerge(java.util.List,com.google.android.gms.
dynamic.IObjectWrapper,com.google.firebase.database.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.database.connection.idl.IPersistentConnectionImpl { void onDisconnectCancel(java.util.List,com.google.firebase.da
tabase.connection.idl.zzah); }', but not the descriptor class 'com.google.firebase.database.connection.idl.zzah'
Note: the configuration keeps the entry point 'com.google.firebase.iid.FirebaseInstanceId { com.google.firebase.iid.FirebaseInstanceId getInstance(com.google.firebase.FirebaseApp);
}', but not the descriptor class 'com.google.firebase.FirebaseApp'
Note: there were 148 unkept descriptor classes in kept class members.
You should consider explicitly keeping the mentioned classes
(using '-keep').
(http://proguard.sourceforge.net/manual/troubleshooting.html#descriptorclass)
Note: there were 6 unresolved dynamic references to classes or interfaces.
You should check if you need to specify additional program jars.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)
Note: there were 1 class casts of dynamically created class instances.
You might consider explicitly keeping the mentioned classes and/or
their implementations (using '-keep').
(http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclasscast)
@pullatjunaid
Copy link

pullatjunaid commented Sep 11, 2019

Add -ignorewarnings in proguard-rules.pro
Like

## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
-ignorewarnings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment