IOException: impossible de trouver de byte code lors de la mise à jour Android Studio 3.1
Hier, Google a annoncé Android Studio 3.1 est disponible dans la version stable de canal. J'ai donc essayer.
Avant que mon projet était de construire avec succès, mais après j'ai mis à jour à 3.1 et Gradle outil de génération pour com.android.tools.build:gradle:3.1.0
(il a forcé la mise à niveau gradle wrapper à 4.4), il a échoué avec cette exception:
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
Je suis déjà en train de faire un nettoyage complet de reconstruction ou même Fichier-> Invalider les Caches/Redémarrer.., mais ça ne marche toujours pas.
Ce que quelqu'un sait comment résoudre ce problème? Merci.
- Essayez de désactiver instant exécuter. Il est possible que ça fonctionne!
- J'ai eu le même problème et le fait que vous êtes allé à travers les nettoyer, de les invalider, redémarrer pour profiter. Heureusement, la suggestion de @AhmedHegazy - désactivation instantanée exécuter fonctionne pour moi. J'ai toujours l'espoir de trouver une solution sans désactivation instantanée exécuter.
- merci, mais instantanée terme est très important pour moi 🙁
- D'accord. C'est pourquoi j'ai de l'espoir pour une solution sans le désactiver. Espérons que Google va corriger le bug au plus vite.
- La désactivation instantanée exécuter fonctionne très bien, mais bien sûr, si vous avez besoin c'est mieux revenir comme les autres personnes mentionnées... garder à l'esprit si vous êtes à la recherche pour compiler l'application, vous pouvez toujours le faire via gradle, l'exception que vous obtenez est juste un intant exécuter chose.
- Ce problème a été corrigé dans la 3.3.0
Vous devez vous connecter pour publier un commentaire.
Il est un problème, qui ils promettent de corriger en 3.2. Jusqu'alors, vous avez probablement de revenir à Android Studio 3.0 si vous ne voulez pas désactiver l'instant exécuter. Pourquoi ils ne veulent pas sortir un correctif pour cela, je ne sais pas. Semble être un joli bug important.
Voir:
Je suggère de vote pour la question, peut-être cela va les motiver pour libérer le correctif plus tôt.
disable Instant Run
ici: stackoverflow.com/questions/46999669/...Tout comme @Malcolm dit, c'est un Android Studio 3.1 problème.
Si vous ne souhaitez pas revenir Android Studio 3.1 3.0, vous pouvez désactiver l'Instant Exécuter.
Si vous ne souhaitez pas revenir Android Studio 3.1 3.0, et ne doivent Instantanée, vous pouvez la modifier construire.gradle et gradle-wrapper.propriétés comme ci-dessous:
com.android.outils.construire:gradle:3.1.0
-> com.android.outils.construire:gradle:3.0.1
distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip
-> distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
Désactivation Instantanée Exécuter travaillé pour moi
si vous obtenez inattendu/bizarre/erreurs stupides comme ça c'est probablement parce qu'
désactivez-le et essayez à nouveau
Tout d'abord aller à menu générer, et propre projet. Après le nettoyage de reconstruire le projet.
Si ne fonctionne pas, alors, Essayez d'ajouter cette ligne dans le build gradle fichier:
Pour la dépendance:
J'ai eu le même problème, après la désactivation instantanée exécuter.. L'appli plantait au moment de l'exécution et jeta un
noClassDefFound
erreur.. Dans mon cas, j'ai été en utilisant leforEach
lambda fonction de Java 8 sur Hashmap au lieu de kotlin un..Un post ici et question similaire ici décrit cette.
Vous devez utiliser des parenthèses autour de la clé et la valeur. par exemple:
Cela permettra d'assurer l'utilisation de la kotlin fonction.
Vous nie essayer de nettoyer et reconstruire le projet. Si le problème persiste, retirez la
.gradle
dossier à l'intérieur de votre projet. Enfin, si aucun ne fonctionne, UtilisezFile-> Invalidate Caches/Restart..
à partir d'Android Studio menu.Comme @Malcolm dit, le problème est lié à Android Studio 3.1.
Il est encore arrive sur Android Studio 3.1.2 si j'essaie de le lancer sur un appareil avec Android 5.1 tout Instant Exécuter activé.
Invalider les caches, de compensation ou de reconstruction projet n'a pas fonctionné pour moi.
Le problème a été résolu lorsque j'ai basculé sur un appareil avec Android 7.0 mais je pense que Android 6.0+ serait aussi travailler. Si vous êtes en mesure de basculer l'appareil, lui donner un essai. Pas besoin de désactiver l'Instant Exécuter.
D'une décote de la gradle outil de construction de
com.android.tools.build:gradle:3.1.1
àcom.android.tools.build:gradle:3.0.1
fonctionne pour moi.