2015-12-22 10 views
13

vengo errore quando stavo correndo un app Android entro Studio seguendo 2.Impossibile determinare le dipendenze del compito ': app: crashlyticsStoreDeobsDebug' se abilito il Proguard

Gradle tasks [:app:assembleDebug] 
Could not determine the dependencies of task ':app:crashlyticsStoreDeobsDebug'. 
> Task with path 'dexDebug' not found in project ':app'. 
BUILD FAILED 

Ecco la build.gradle per modulo

buildscript { 
    repositories { 
     maven { url 'http://download.crashlytics.com/maven' } 
     maven { url "http://dl.bintray.com/populov/maven" } 
    } 

    dependencies { 
     classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
    } 
} 

apply plugin: 'com.android.application' 
apply plugin: 'crashlytics' 

repositories { 
    maven { url 'http://download.crashlytics.com/maven' } 
    maven { url "http://dl.bintray.com/populov/maven" } 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.2' 

    defaultConfig { 
     minSdkVersion 17 
     targetSdkVersion 19 
    } 


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

dependencies { 
    compile 'com.android.support:appcompat-v7:23.+' 
    compile 'com.crashlytics.android:crashlytics:1.+' 
} 

L'errore è andato se ho impostato il minfyEnabled su "false". Ma lo voglio abilitato.

Ecco il build.gradle nel livello di progetto.

buildscript { 
    repositories { 
     mavenCentral() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.0.0-alpha3' 
    } 
} 

allprojects { 
    repositories { 
     maven { url "http://dl.bintray.com/populov/maven" } 
     mavenCentral() 
     jcenter() 
    } 
} 

L'errore è andato anche se ho sostituito "2.0.0-alpha3" a "1.3.1". Ma voglio "2.0.0" perché voglio la funzione "Instant Run".

Questo è il gradle-wrapper.properties.

#Mon Dec 21 14:43:00 CST 2015 
distributionBase=GRADLE_USER_HOME 
distributionPath=wrapper/dists 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip 

Qualcuno sa come risolvere il problema? Grazie.

risposta

4

Ho avuto lo stesso problema pochi giorni fa e ho trovato questo thread Twitter Developer Forum che punta a qualche incompatibilità con le versioni di gradle/build-tools/crashalics.

Il mio problema era leggermente diverso dal tuo perché non sto utilizzando alpha-3 Sto usando 1.5. Ma sul mio aggiornamento ho anche cambiato l'ultima distribuzione gradle gradle-2.9-all.zip.

Quindi probabilmente/forse è possibile risolvere il problema passando all'ultima versione gradle. Ma se non funziona, dovrai davvero avere pazienza e aspettare che lo build tools V2.0 non sia più in alpha o il team di Crashalitycs, risolvere l'incompatibilità.

+6

Ho avuto lo stesso problema e ho aggiornato all'ultima versione di Crashlytics (ad oggi è 'io.fabric.tools: gradle: 1.21.2' per il plugin e' com.crashlytics.sdk.android: crashlytics: 2.5.5' per la libreria, e questo risolve il problema: sto usando il gradle android plugin '2.0.0-alpha3' (funziona anche con' 1.5.0'). – BoD

+0

@BoD Sì, usando il lavoro di stoffa –

+2

È necessario controllare se non è a causa di Proguard. È necessario disattivare Minify – toshkinl

0

Ho riscontrato lo stesso problema. Nella mia app build.gradle avevo

apply plugin: 'com.android.application' 
apply plugin: 'dexguard' 
apply plugin: 'io.fabric' 

Ho appena cambiato Dexguard e Fabric, quindi ha funzionato!

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
apply plugin: 'dexguard' 
+0

Probabilmente questo cambiamento si tradurrà in tracce di stack offuscate in Crashlytics. Sì, non si ottiene più l'errore ma si interrompe l'abilità di Crashlytics di segnalare arresti significativi. –

+0

Non in base a [Fabric Documents] (https://docs.fabric.io/android/crashlytics/dex-and-proguard.html) – reavcn

+1

Come ultima riga del collegamento allo stato di Documenti di Frabric: 'Uso di DexGuard? Basta aggiungere: applica il plug-in: "io.fabric" dopo l'applicazione dei plug-in DexGuard e Android –

3

Al posto di 1. + utilizzare il latest version di crashlytics -

dependencies { 
     classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+' 
    } 

si dovrebbe usare questo modo -

dependencies { 
      classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:2.6.8' 
     } 

vostro problema sarà risolto di sicuro. Codifica felice !!