java - studio - update gradle
Error de compilación de Android: error al encontrar el código de byte para java/util/function/Function (5)
Después de actualizar la versión de Gradle a 3.1, se produce el siguiente error al ejecutar la aplicación:
Error al encontrar el código de byte para java / util / function / Function
java.io.IOException: No se pudo encontrar el código de byte para java / util / function / Function en com.android.build.gradle.internal.incremental.AsmUtils.lambda $ static $ 0 (AsmUtils.java:89) en com.android. build.gradle.internal.incremental.AsmUtils.loadClass (AsmUtils.java:307)
¿Alguien puede ayudarme a arreglar esto?
El error de pila completa:
org.gradle.api.tasks.TaskExecutionException: la ejecución falló para la tarea '': app: transformClassesWithInstantRunForMockDebug''. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:100) en la org.gradle.api.internas.as.as.as. .api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute (OutputDirectoryCreatingTaskExecuter.java:51) en org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute (SkipUpToDateTaskExecuter.java:62) en org.gradle.api.internal .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute (ResolveTaskOutputCachingStateExecuter.java:54) en org.gradle.api.in.as.as.as.as.as.as.as.as.as.as.as.as.as.as.as.las.as.as.as.as.png .SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySourceFilesTaskExecuter.java:97) en org.gradle.api.internal.tasks.execution.CleanupStale.pros.pros.pros.pros.pros.pros.pros.se.on.png r. ResolveTaskArtifactStateTaskExecuter.executeer. n. ejecute (SkipOnlyIfTaskExecuter.java:54) en org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute (en inglés). java: 34) en la sección de la actividad de la actividad. gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328) en org.gradle.internal.progress.DefaultBuild OperationExecutor.execute (DefaultBuildOperationExecutor.java:199) en org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBu y en el manual de actividades y actividades en el mismo nombre). at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:230) en la versión de. .DefaultTaskPlanExecutor.java:79) en org.gradle.execution.tasecution.taskgraph.Default. ejecute (DefaultTaskPlanExecutor.java:98) en org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute (DefaultTaskExecutionPlan.jav a: 626) en org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask (DefaultTaskExecutionPlan.java:581) en org.gradle.execution.taskasasasas.as. .concurrent.ExecutorPolicy $ CatchAndRecordFailures.on Execute (ExecutorPolicy.java:63) en org.gradle.internal.concurrent.ManagedExecutra.P.P.P.P.P.P.P.P. 1149) en java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) en org.gradle.internal.concurrent.ThreadFactoryImpl. Jpca. (Thread.java:748) Causado por: java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: No se pudo encontrar el byte código para java / util / function / Function en com.android.builder.profile.Record er $ Block.handleException (Recorder.java:55) en com.android.builder.profile.ThreadRecorder.record (ThreadRecorder.java:104) en com.android.build.gradle.internal.pipeline.TransformTask.transform (TransformTask. java: 212) en sun.reflect.NativeMethodAccessorImpl.invoke0 (Método nativo) en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.) .reflect.Method.invoke (Method.java:498) en org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73) en org.gradle.api.internal.project.taskfactory.IncrementalTaskAction. .java: 46) en org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute (StandardTaskAction.java:39) en org.gradle.api.internal.project.tasject.askfactory.StandardTaskAction.execute (StandardTaskka.contact.caject.taskfactory.StandardTaskAction.execute). ) en org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run (ExecuteActionsTaskExecuter.java:121) en o rg.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:336 rota de la v DefaultBuildOperation.clips.nava.porce.nava.porce.nava.porce.nava.porce.porce.nava.porce.porce.nava.porce.porce.nava.porce.por.jpg.jpg. 110) en org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:92) ... 32 más Causado por: com.android.build.api.transform.TransformException: java.lang.RuntimeException : java.lang.RuntimeException: java.io.IOException: No se pudo encontrar el código de byte para java / util / function / Function en com.android.build.gradle.internal.transforms.InstantRunT ransform.doTransform (InstantRunTransform.java:312) en com.android.build.gradle.internal.transforms.InstantRunTransform.transform (InstantRunTransform.java:178) en com.android.build.gradle.internal.pipeline.TransformTask $ 2.call (TransformTask.java:221) en com.android.build.gradle.internal.pipeline.TransformTask $ 2.call (TransformTask.java:217) en com.android.builder.profile.ThreadRecorder.record (ThreadRecorder.java:102) ... 48 más Causado por: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: No se pudo encontrar el código de byte para java / util / function / Function en sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Método nativo ) en sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) en sun.reflect.DelegatingConstructorAccessor.parc. .util.concurrent.ForkJoinTask.getThrowableException (ForkJoinTask.java:593) en java.util.concurrent.ForkJoinTask.reportException (ForkJoinTask.java:677) en java.util.concurrent.ForkJoinTask.asin.P.P.P.P.P.P.P. java: 146) en com.android.build.gradle.internal.transforms.InstantRunTransform.doTransform (InstantRunTransform.java:307) ... 52 más Causado por: java.lang.RuntimeException: java.io.IOException: No se pudo encontrar código de byte para java / util / function / Function en java.util.concurrent.ForkJoinTask $ AdaptedCallable.exec (ForkJoinTask.java:1431) en java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java) .concurrent.ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1056) en java.util.concurrent.ForkJoinPool.r.Pay. por: java.io.IOException: No se pudo encontrar el código de byte para java / util / function / Function en com.android.build.gradle.internal.incremental. AsmUtils.lambda $ static $ 0 (AsmUtils.java:89) en com.android.build.gradle.internal.incremental.AsmUtils.loadClass (AsmUtils.java:307) en com.android.build.gradle.internal.incremental.AsmUtils .readInterfaceHierarchy (AsmUtils.java:216) en com.android.build.gradle.internal.incremental.AsmUtils.readInterfaces (AsmUtils.java:251) en com.android.build.gradtern.incremental.AsmUtils.as. .java: 220) en com.android.build.gradle.internal.incremental.AsmUtils.readInterfaces (AsmUtils.java:251) en com.android.build.gradle.internal.incremental.AsmUtils.loadClass (AsmUtil.java:288 ) at com.android.build.gradle.internal.incremental.IncrementalVisitor.instrumentClass (IncrementalVisitor.java:342) en com.android.build.gradle.internal.transforms.InstantRunTransform.transform.CranstrolContactosContactosContactosContactosContactos.Formulario.Internacional android.build.gradle.internal.transforms.InstantRunTransform.lambda $ doTransform $ 3 (InstantRunTransform.java:268) en com.android.build.gradle.internal.transf orms.InstantRunTransform.lambda $ null $ 4 (InstantRunTransform.java:297) en java.util.concurrent.ForkJoinTask $ AdaptedCallable.exec (ForkJoinTask.java:1424) ... 4 más
Encontré la solución para mi problema aquí: ¿Por qué el código de byte de Kotlin hace referencia a java.util.function.BiConsumer?
Estoy usando Kotlin y encontré la línea que usa forEach {key, value -> ...}, y la cambié a forEach {(key, value) -> ...}, lo que hace que Kotlin elija JRE 6 en lugar de 8 .
Esto parece un problema de compilador. ¿Intentaste reiniciar tu estudio de Android? Si es así, intente
Build-> Clean Project
Build-> Make Project
Si el problema persiste, intente borrar el caché de Android Studio.
Parece que hay varias razones que causan este problema.
Si usa Kotlin, intente cambiar forEach{ key, value -> ... }
por forEach{ (key, value) -> ... }
En mi situación, nunca uso Kotlin. Después de deshabilitar la ejecución instantánea, este error desapareció.
Sucede cuando algunos complementos de Gradle no coinciden con minsdk. Estaba usando scene sdk, mi minsdk tenía 22, pero requería 24. Cuando cambié el minsdk de 22 a 24, funcionó.
Tuve el mismo problema, lo que funcionó para mí fue limpiar las preferencias de Android Studio:
Eliminar .AndroidStudioX.X
Eliminar .gradle
Reiniciar Android Studio
Y luego me encontré con otro problema, cuya solución era deshabilitar la ejecución instantánea.
Espero que ayude a alguien