2013-10-16 2 views
9

Ich versuche CrashLytics mit Android Studio und gradle zu verwenden, aber ich erhalte einen verwirrenden Fehler java.lang.NoSuchMethodError:Crashlytics mit Android Studio bauen Fehler

Mein build.gradle ist:

buildscript { 
    repositories { 
     mavenCentral() 
     maven { url 'http://download.crashlytics.com/maven' } 

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

apply plugin: 'android' 
apply plugin: 'crashlytics' 

repositories { 
    mavenCentral() 
    maven { url 'http://download.crashlytics.com/maven' } 
} 

android { 
    buildToolsVersion "18.0.1" 
    compileSdkVersion 18 

    //... 
} 


dependencies { 
    compile 'com.android.support:appcompat-v7:18.0.+' 
    compile 'com.google.android.gms:play-services:3.2.25' 

    compile 'com.crashlytics.android:crashlytics:1.+' 
    //compile 'com.newrelic.agent.android:android-agent:2.426.0' 

} 

wenn zu $ gradle assembleDebug versuchen:

Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0 
:preBuild UP-TO-DATE 
:preDebugBuild UP-TO-DATE 
:preReleaseBuild UP-TO-DATE 
:prepareComAndroidSupportAppcompatV71800Library UP-TO-DATE 
:prepareComGoogleAndroidGmsPlayServices3225Library UP-TO-DATE 
:prepareDebugDependencies 
:compileDebugAidl UP-TO-DATE 
:compileDebugRenderscript UP-TO-DATE 
:generateDebugBuildConfig UP-TO-DATE 
:processDebugManifest UP-TO-DATE 
:crashlyticsCleanupResourcesDebug 
:crashlyticsUploadStoredDeobsDebug 
:crashlyticsGenerateResourcesDebug 
:mergeDebugAssets UP-TO-DATE 
:mergeDebugResources FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':mergeDebugResources'. 
> Could not call IncrementalTask.taskAction() on task ':mergeDebugResources' 

* Try: 
Run with --info or --debug option to get more log output. 

* Exception is: 
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mergeDebugResources'. 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) 
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) 
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) 
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) 
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) 
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) 
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) 
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) 
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:283) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) 
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) 
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$1.run(DefaultTaskPlanExecutor.java:33) 
    at org.gradle.internal.Factories$1.create(Factories.java:22) 
    at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:214) 
    at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:276) 
    at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142) 
    at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:78) 
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:31) 
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86) 
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29) 
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) 
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) 
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) 
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166) 
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113) 
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64) 
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33) 
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26) 
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50) 
    at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171) 
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201) 
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174) 
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170) 
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139) 
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) 
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) 
    at org.gradle.launcher.Main.doAction(Main.java:46) 
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) 
    at org.gradle.launcher.Main.main(Main.java:37) 
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50) 
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32) 
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23) 
Caused by: org.gradle.api.GradleException: Could not call IncrementalTask.taskAction() on task ':mergeDebugResources' 
    at org.gradle.util.JavaMethod.invoke(JavaMethod.java:69) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212) 
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201) 
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:527) 
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:510) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) 
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) 
    ... 49 more 
Caused by: java.lang.NoSuchMethodError: com.android.sdklib.SdkManager.createManager(Ljava/lang/String;Lcom/android/utils/ILogger;)Lcom/android/sdklib/SdkManager; 
    at com.android.builder.DefaultSdkParser.initParser(DefaultSdkParser.java:76) 
    at com.android.builder.SdkParser$initParser.call(Unknown Source) 
    at com.android.build.gradle.internal.Sdk.loadParser(Sdk.groovy:125) 
    at com.android.build.gradle.internal.Sdk$loadParser.call(Unknown Source) 
    at com.android.build.gradle.BasePlugin.getLoadedSdkParser(BasePlugin.groovy:295) 
    at com.android.build.gradle.BasePlugin.getAndroidBuilder(BasePlugin.groovy:318) 
    at com.android.build.gradle.BasePlugin$getAndroidBuilder.call(Unknown Source) 
    at com.android.build.gradle.internal.tasks.BaseTask.getBuilder(BaseTask.groovy:29) 
    at com.android.build.gradle.tasks.MergeResources_Decorated.getBuilder(Unknown Source) 
    at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.getProperty(BeanDynamicObject.java:158) 
    at org.gradle.api.internal.BeanDynamicObject.getProperty(BeanDynamicObject.java:112) 
    at org.gradle.api.internal.CompositeDynamicObject.getProperty(CompositeDynamicObject.java:78) 
    at com.android.build.gradle.tasks.MergeResources_Decorated.getProperty(Unknown Source) 
    at com.android.build.gradle.tasks.MergeResources.doIncrementalTaskAction(MergeResources.groovy:136) 
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:107) 
    at org.gradle.util.JavaMethod.invoke(JavaMethod.java:62) 
    ... 56 more 


BUILD FAILED 

Total time: 9.297 secs 

ich bin nicht sicher, warum das Verfahren nicht gefunden, vielleicht Werkzeuge bauen 18 noch nicht unterstützt?

Antwort

11

Hemal von Crashlytics hier!

Können Sie die folgende Zeile aus bearbeiten:

classpath 'com.android.tools.build:gradle:0.5.+' 

zu

classpath 'com.android.tools.build:gradle:0.6.+' 

Sollte es aufklären für ya :)

+7

Ich benutze 'com.android.tools.build:gradle:12.+' und 'com.crashlytics.android:crashlytics:1.+' der Fehler existiert immer noch – xialin

+1

@ hemal-shah, ich habe das gleiche Problem als Xialin. Hast du irgendwelche Vorschläge? Ich habe folgenden Code in meinem Gradle: Abhängigkeiten { Klassenpfad 'com.android.tools.build:gradle:02.+' Klassenpfad 'com.crashlytics.tools.gradle: crashlytics-gradle: 1. +' } – Hesam

+0

@ Hemal - Ich erhalte diesen Fehler: Fehler: Konnte keine Entsprechungen für com.crashlytics.tools.gradle finden: crashlytics-gradle: 1. + as keine Versionen von com.crashlytics.tools.gradle: crashlytics-gradle sind verfügbar. Alles eingerichtet von: https: // crashlytics.com/downloads/gradle –

4

Für alle, die „com.android.tools haben .build: grandle: 1.0.0 "und" com.crashlytics.tools.gradle: crashlytics-gradle: 1. + ", das hat bei mir funktioniert:

  • Rein Projekt
  • Projekt aktualisieren, um
  • Run App

EDIT: Wenn dies nicht funktioniert, versuchen Sie download.crashlytics.com ping und überprüfen, ob sie oben sind. Warte nicht einfach bis sie es sind.

+0

In diesem Fall ist es am besten, mit verschiedenen Verbindungen zu versuchen. Denn dann wird es eindeutig zu einem Verbindungsproblem – Vedant261

0

Sauber hat nicht funktioniert. Rebuild hat nicht funktioniert. Ich könnte aus der Befehlszeile, aber nicht aus Android Studio erstellen. Schließlich habe ich Android Studio geschlossen und build/und app/build/gelöscht. Ich habe Android Studio erneut geöffnet und die App wird erneut erstellt.

1

In meinem Fall hat die Installation des Plugins das Problem gelöst.

1) Mac: Wählen Sie "Einstellungen ..." aus dem Android Studio Menü. Windows und Linux: Wählen Sie "Einstellungen" aus dem Dateimenü.

2) Wählen Sie "Plugins" rechts im Einstellungsdialog, deinstallieren Sie das Plugin und starten Sie android studio neu.

3) Installieren Sie das Plugin neu und starten Sie android studio neu.

Hoffe, das kann helfen.