web-dev-qa-db-de.com

IOException: Bytecode konnte bei Upgrade auf Android Studio 3.1 nicht gefunden werden

Gestern gab Google bekannt, dass Android Studio 3.1 jetzt im stabilen Veröffentlichungskanal zum Download zur Verfügung steht. Also entschied ich mich, es auszuprobieren. 

Vorher war mein Projekt erfolgreich erstellt worden, aber nachdem ich AS auf 3.1 und Gradle Build Tool auf com.Android.tools.build:gradle:3.1.0 aktualisiert hatte (es war gezwungen, Gradle Wrapper 4.4 zu aktualisieren), schlug es mit dieser Ausnahme fehl: 

Java.lang.RuntimeException: com.Android.build.api.transform.TransformException: Java.lang.RuntimeException: Java.lang.RuntimeException: Java.io.IOException: Failed to find byte code for Android/hardware/camera2/CameraManager$TorchCallback
    at com.Android.builder.profile.Recorder$Block.handleException(Recorder.Java:55)
    at com.Android.builder.profile.ThreadRecorder.record(ThreadRecorder.Java:104)
    at com.Android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.Java:212)
    at Sun.reflect.GeneratedMethodAccessor309.invoke(Unknown Source)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.Java:73)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.Java:46)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.Java:39)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.Java:26)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.Java:121)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.Java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.Java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.Java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.Java:92)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.Java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.Java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.Java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.Java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.Java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.Java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.Java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.Java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.Java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.Java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.Java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.Java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.Java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.Java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.Java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.Java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.Java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.Java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.Java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.Java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.Java:581)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.Java:98)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.Java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.Java:46)
    at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
    at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.Java:55)
    at Java.lang.Thread.run(Thread.Java:745)
Caused by: com.Android.build.api.transform.TransformException: Java.lang.RuntimeException: Java.lang.RuntimeException: Java.io.IOException: Failed to find byte code for Android/hardware/camera2/CameraManager$TorchCallback
    at com.Android.build.gradle.internal.transforms.InstantRunTransform.doTransform(InstantRunTransform.Java:312)
    at com.Android.build.gradle.internal.transforms.InstantRunTransform.transform(InstantRunTransform.Java:178)
    at com.Android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.Java:221)
    at com.Android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.Java:217)
    at com.Android.builder.profile.ThreadRecorder.record(ThreadRecorder.Java:102)
    ... 47 more

Ich mache bereits einen kompletten sauberen Umbau oder sogar File-> Invalidate Caches/Restart.., aber es funktioniert immer noch nicht.

Weiß jemand, wie man das löst? Vielen Dank.

34
nhoxbypass

Es gibt ein Problem , das in 3.2 behoben werden soll. Bis dahin müssen Sie wahrscheinlich zu Android Studio 3.0 zurückkehren, wenn Sie den Sofortlauf nicht deaktivieren möchten. Warum sie dafür keinen Hotfix veröffentlichen wollen, weiß ich nicht. Scheint ein ziemlich wichtiger Fehler zu sein.

Sehen:

 enter image description here

Ich schlage vor, für das Problem zu stimmen, vielleicht motiviert es sie, den Fix früher zu veröffentlichen.

53
Malcolm

Genau wie @ Malcolm gesagt hat, ist dies eine Ausgabe von Android Studio 3.1.

Wenn Sie Android Studio 3.1 nicht auf 3.0 zurücksetzen möchten, können Sie Instant Run deaktivieren.

Wenn Sie Android Studio 3.1 nicht auf 3.0 zurücksetzen möchten und Instant Run benötigen, können Sie build.gradle und gradle-wrapper.properties wie folgt bearbeiten:

  1. com.Android.tools.build:gradle: 3.1.0 

    -> com.Android.tools.build:gradle :3.0.1

  2. distributionUrl = https://services.gradle.org/distributions/gradle-4.4-all.Zip

    -> distributionUrl = https://services.gradle.org/distributions/gradle-4.1-all.Zip

24
Veer

Das Deaktivieren von Instant Run funktionierte für mich

10
Lagix

Gehen Sie zuerst zum Build-Menü und bereinigen Sie das Projekt. Nach dem Reinigen das Projekt neu aufbauen.

Wenn dies nicht funktioniert, fügen Sie diese Zeile in die Build-Gradle-Datei ein:

 defaultConfig {
       multiDexEnabled true  
   }

Für die Abhängigkeit:

dependencies 
    {
       compile 'com.Android.support:multidex:1.0.0'
    }
1
0xalihn

Ich hatte das gleiche Problem, nachdem ich Instant Run deaktiviert hatte. Die App stürzte zur Laufzeit ab und warf einen noClassDefFound-Fehler. In meinem Fall verwendete ich die forEach-Lambda-Funktion von Java 8 für Hashmap anstelle von kotlin one ..

Ein Beitrag hier und eine ähnliche Frage hier beschreibt dies . Sie müssen Klammern um den Schlüssel und den Wert verwenden. z.B:

dataSet.forEach { (header, dataList) ->    }

Dadurch wird sichergestellt, dass die Kotlin-Funktion verwendet wird.

1
Audi

Das Gradle Build-Tool von com.Android.tools.build:gradle:3.1.1 auf com.Android.tools.build:gradle:3.0.1 herunterstufen funktioniert für mich.

0
user2358763

wenn Sie unerwartete/komische/dumme Fehler wie diese erhalten, liegt dies höchstwahrscheinlich daran 

Sofortiger Lauf

deaktivieren Sie es und versuchen Sie es erneut

0

Sie müssen das Projekt bereinigen und neu erstellen. Wenn das Problem weiterhin besteht, entfernen Sie den Ordner .gradle in Ihrem Projekt. Wenn keiner funktioniert, verwenden Sie File-> Invalidate Caches/Restart.. aus dem Android Studio-Menü.

Wie @ Malcolm sagte, ist das Problem mit Android Studio 3.1 verbunden.

Es ist immer noch in Android Studio 3.1.2 der Fall, wenn ich versuche, auf einem Gerät mit Android 5.1 auszuführen, während Instant Run aktiviert ist.

Das Löschen von Caches, das Löschen/Wiederherstellen von Projekten hat für mich nicht funktioniert. 

Das Problem wurde behoben, als ich auf ein Gerät mit Android 7.0 umgestiegen bin. Ich denke jedoch, dass Android 6.0+ auch funktionieren würde. Wenn Sie das Gerät wechseln können, probieren Sie es aus. Sie müssen Instant Run nicht deaktivieren.

0
faridyagubbayli