Mancata costruzione di Gradle

Il mio progetto si compila ed esegue bene nella modalità di debug, ma quando provo a generare un apk firmato, si verificano errori. Questo appare nel registro dei messaggi:

:app:proguardRelease Warning:android.support.v4.app.DialogFragment: can't find referenced class android.support.v4.app.DialogFragment$DialogStyle Warning:android.support.v4.app.FragmentTransaction: can't find referenced class android.support.v4.app.FragmentTransaction$Transit Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$ResolvedLayoutDirectionMode Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$LayoutDirectionMode Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$LayerType Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$AccessibilityLiveRegion Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$ImportntForAccessibility Warning:android.support.v4.view.ViewCompat: can't find referenced class android.support.v4.view.ViewCompat$OverScroll Warning:android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$EdgeGravity Warning:android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$LockMode Warning:android.support.v4.widget.DrawerLayout: can't find referenced class android.support.v4.widget.DrawerLayout$State Warning:there were 11 unresolved references to classs or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classs, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) Exception while processing task java.io.IOException: Please correct the above warnings first. at proguard.Initializer.execute(Initializer.java:473) at proguard.ProGuard.initialize(ProGuard.java:233) at proguard.ProGuard.execute(ProGuard.java:98) at proguard.gradle.ProGuardTask.proguard(ProGuardTask.java:1074) at com.android.build.gradle.tasks.AndroidProGuardTask.doMinification(AndroidProGuardTask.java:139) at com.android.build.gradle.tasks.AndroidProGuardTask$1.run(AndroidProGuardTask.java:115) at com.android.builder.tasks.Job.runTask(Job.java:48) at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41) at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:227) at java.lang.Thread.run(Thread.java:745) :app:dexRelease UP-TO-DATE :app:crashlyticsStoreDeobsRelease :app:crashlyticsUploadDeobsRelease :app:validateExternalOverrideSigning :app:packageRelease FAILED Error:Execution failed for task ':app:packageRelease'. > Unable to compute hash of /home/kombo/RAL/Mpasho/app/build/intermediates/classs-proguard/release/classs.jar 

Ho provato each ansible modo di rimediare aggiornando i miei strumenti di costruzione utilizzando l'ultima versione di gradle, controllando tutte le dependencies e l'errore ancora si presenta.

  • flavorDimensions errore di gradel - Android Studio 3.0 Canary 1
  • Qual è il luogo ideale per eseguire la cache delle immagini?
  • CustomViewView con caselle di controllo che controllano gli elementi non selezionati
  • Come rilevare se una notifica è stata respinta?
  • La ridisezione di elementi ignora gli utenti scalabili = 0 in Browser Android. Perché?
  • Profilo Google+ come effetto di scorrimento
  • Sono abbastanza sicuro che la libreria di supporto v4 sia presente nel progetto in quanto non si verificano errori nella modalità di debug.

  • Android - Le posizioni ottenute da LocationClient non supportno la velocità
  • Dimensione della scheda Spinner
  • Android WakeLock
  • come condividere le immagini dalla mia applicazione a whatsapp?
  • Come estrarre i dati da un articolo di Wikipedia?
  • Come risolvere per viewpager: Il figlio specificato ha già un genitore. Devi call removeView () sul genitore del figlio per prima cosa
  • 7 Solutions collect form web for “Mancata costruzione di Gradle”

    Ho avuto anche questo problema quando aggiorniamo tutto ciò che è costruito in relazione a 23 (librerie Android, SDK, ecc.).

    Questa configuration proguard mi ha fissato:

     -dontwarn org.apache.http.** -dontwarn android.net.http.AndroidHttpClient -dontwarn com.google.android.gms.** -dontwarn com.android.volley.toolbox.** 

    fonte

    Mi getDefaultProguardFile('proguard-android.txt') che abbia omesso la linea getDefaultProguardFile getDefaultProguardFile('proguard-android.txt') sui file proguard e stava usando solo proguard-rules.pro

    ha aggiunto queste due righe in progaurd

     -dontwarn android.net.http.AndroidHttpClient -dontwarn com.google.android.gms.** 

    e funziona ..

    È legato alla biblioteca utilizzata nel progetto.

    Il file ProGuard predefinito ha già una regola per ignorare gli avvisi della libreria di supporto. Se non lo si dispone è ansible aggiungere al tuo file

     -dontwarn android.support.** 

    ma sarebbe meglio aggiungere quello predefinito. Vedere la progettazione di Proguard @ sviluppatori Android

    Questo potrebbe anche accadere a causa di errori / avvisi relativi ai file .jar inclusi. Controllare l'output di build per gli avvisi / errori di proguard.

    Ho avuto problemi legati al file opencv jar. Suggerimento di Lakedaemon nel commento sopra mi ha aiutato e il suo risolto.

    Penso che la tua build.gradle buildTypes > release > minifyEnabled is true

    Per questo motivo si ottiene questo messaggio di errore.

    Evitare questo messaggio di errore, impostare buildTypes > release > minifyEnabled is false


      buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } 

    Provare a cercare in tutto il messaggio di errore. Può contenere informazioni che includere due volte una libreria. Questo è stato il problema nel mio caso ed è stato risolto dopo aver rimosso duplicati inclusi.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.