futurice / freesound-android

Unofficial Android client for the Freesound Project
Apache License 2.0
85 stars 16 forks source link

Can't deploy the 'release' flavor #56

Closed kypeli closed 8 years ago

kypeli commented 8 years ago

Build fails when trying trying to deploy the 'release' flavor. Apparently the ProGuard files are not up to date.

Note: android.support.v4.media.IMediaBrowserServiceCallbacksAdapterApi21: can't find dynamically referenced class android.service.media.IMediaBrowserServiceCallbacks Note: android.support.v4.media.IMediaBrowserServiceCallbacksAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice Note: android.support.v4.media.IMediaBrowserServiceCallbacksAdapterApi21$Stub: can't find dynamically referenced class android.service.media.IMediaBrowserServiceCallbacks$Stub Note: android.support.v4.media.ParceledListSliceAdapterApi21: can't find dynamically referenced class android.content.pm.ParceledListSlice Note: android.support.v4.text.ICUCompatApi23: can't find dynamically referenced class libcore.icu.ICU Note: android.support.v4.text.ICUCompatIcs: can't find dynamically referenced class libcore.icu.ICU Note: android.support.v7.widget.DrawableUtils: can't find dynamically referenced class android.graphics.Insets Note: com.facebook.stetho.inspector.runtime.RhinoDetectingRuntimeReplFactory: can't find dynamically referenced class com.facebook.stetho.rhino.JsRuntimeReplFactoryBuilder Note: com.google.android.gms.internal.zzanx: can't find dynamically referenced class sun.misc.Unsafe Note: com.google.gson.internal.UnsafeAllocator: can't find dynamically referenced class sun.misc.Unsafe Note: com.squareup.picasso.Utils: can't find dynamically referenced class com.squareup.okhttp.OkHttpClient Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class com.android.org.conscrypt.SSLParametersImpl Note: okhttp3.internal.platform.AndroidPlatform: can't find dynamically referenced class org.apache.harmony.xnet.provider.jsse.SSLParametersImpl Note: okhttp3.internal.platform.Platform: can't find dynamically referenced class sun.security.ssl.SSLContextImpl Note: retrofit2.Platform: can't find dynamically referenced class java.util.Optional Note: retrofit2.Platform: can't find dynamically referenced class org.robovm.apple.foundation.NSObject Note: retrofit2.Platform$IOS$MainThreadExecutor: can't find dynamically referenced class org.robovm.apple.foundation.NSOperationQueue Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'icon' dynamically Maybe this is program field 'android.support.design.R$attr { int icon; }' Maybe this is program field 'android.support.design.R$id { int icon; }' Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { int icon; }' Maybe this is program field 'android.support.v7.appcompat.R$attr { int icon; }' Maybe this is program field 'android.support.v7.appcompat.R$id { int icon; }' Maybe this is program field 'com.facebook.stetho.R$attr { int icon; }' Maybe this is program field 'com.facebook.stetho.R$id { int icon; }' Maybe this is program field 'com.facebook.stetho.okhttp3.R$attr { int icon; }' Maybe this is program field 'com.facebook.stetho.okhttp3.R$id { int icon; }' Maybe this is program field 'com.futurice.freesound.R$attr { int icon; }' Maybe this is program field 'com.futurice.freesound.R$id { int icon; }' Maybe this is library field 'android.R$attr { int icon; }' Maybe this is library field 'android.R$id { int icon; }' Maybe this is library field 'android.app.LauncherActivity$ListItem { android.graphics.drawable.Drawable icon; }' Maybe this is library field 'android.app.Notification { int icon; }' Maybe this is library field 'android.app.Notification$Action { int icon; }' Maybe this is library field 'android.appwidget.AppWidgetProviderInfo { int icon; }' Maybe this is library field 'android.content.pm.PackageItemInfo { int icon; }' Maybe this is library field 'android.content.pm.ResolveInfo { int icon; }' Maybe this is library field 'android.inputmethodservice.Keyboard$Key { android.graphics.drawable.Drawable icon; }' Maybe this is library field 'android.speech.tts.TextToSpeech$EngineInfo { int icon; }' Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'title' dynamically Maybe this is program field 'android.support.design.R$attr { int title; }' Maybe this is program field 'android.support.design.R$id { int title; }' Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence title; }' Maybe this is program field 'android.support.v7.appcompat.R$attr { int title; }' Maybe this is program field 'android.support.v7.appcompat.R$id { int title; }' Maybe this is program field 'com.facebook.stetho.R$attr { int title; }' Maybe this is program field 'com.facebook.stetho.R$id { int title; }' Maybe this is program field 'com.facebook.stetho.inspector.protocol.module.HeapProfiler$ProfileHeader { java.lang.String title; }' Maybe this is program field 'com.facebook.stetho.inspector.protocol.module.Profiler$ProfileHeader { java.lang.String title; }' Maybe this is program field 'com.facebook.stetho.okhttp3.R$attr { int title; }' Maybe this is program field 'com.facebook.stetho.okhttp3.R$id { int title; }' Maybe this is program field 'com.futurice.freesound.R$attr { int title; }' Maybe this is program field 'com.futurice.freesound.R$id { int title; }' Maybe this is library field 'android.R$attr { int title; }' Maybe this is library field 'android.R$id { int title; }' Maybe this is library field 'android.app.Notification$Action { java.lang.CharSequence title; }' Maybe this is library field 'android.preference.PreferenceActivity$Header { java.lang.CharSequence title; }' Note: android.support.v4.app.NotificationCompatJellybean accesses a declared field 'actionIntent' dynamically Maybe this is program field 'android.support.v4.app.NotificationCompat$Action { android.app.PendingIntent actionIntent; }' Maybe this is library field 'android.app.Notification$Action { android.app.PendingIntent actionIntent; }' Note: com.google.android.gms.internal.zzanx accesses a declared field 'theUnsafe' dynamically Note: com.google.android.gms.internal.zzsb accesses a declared field 'MODULE_ID' dynamically Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.flags.ModuleDescriptor { java.lang.String MODULE_ID; }' Note: com.google.android.gms.internal.zzsb accesses a declared field 'MODULE_VERSION' dynamically Maybe this is program field 'com.google.android.gms.dynamite.descriptors.com.google.android.gms.flags.ModuleDescriptor { int MODULE_VERSION; }' Note: com.google.gson.internal.UnsafeAllocator accesses a declared field 'theUnsafe' dynamically Note: the configuration keeps the entry point 'com.google.android.gms.flags.impl.FlagProviderImpl { void init(com.google.android.gms.dynamic.zzd); }', but not the descriptor class 'com.google.android.gms.dynamic.zzd' Note: the configuration keeps the entry point 'com.google.firebase.crash.FirebaseCrash { com.google.firebase.crash.FirebaseCrash getInstance(com.google.firebase.FirebaseApp); }', but not the descriptor class 'com.google.firebase.FirebaseApp' 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 7 references to unknown classes. You should check your configuration for typos. (http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass) Note: there were 3 classes trying to access enclosing classes using reflection. You should consider keeping the inner classes attributes (using '-keepattributes InnerClasses'). (http://proguard.sourceforge.net/manual/troubleshooting.html#attributes) Note: there were 3 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 17 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 7 accesses to class members by means of introspection. You should consider explicitly keeping the mentioned class members (using '-keep' or '-keepclassmembers'). (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember)

Warning: there were 6 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) Warning: there were 1 unresolved references to library class members. You probably need to update the library versions. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)

Warning: Exception while processing task java.io.IOException: Please correct the above warnings first. :app:transformClassesAndResourcesWithProguardForRelease FAILED

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.

    java.io.IOException: Please correct the above warnings first.

  • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

kypeli commented 8 years ago

I checked the ProGuard rules in app/proguard-rules and I noticed that there are ProGuard files for OkHttp2 and RxJava (1), while the dependencies list OkHttp3 and RxJava2.