Antecedentes
Descripción del problema Pero cada vez que intento ejecutar y compilar (quiero emular a partir de ahora), aparece el siguiente mensaje de error.
Unable to make field private final java.lang.String java.io.File.path accessible: Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @42760a00Aquí está mi configuración de configuración :
Andrey Dernov comentó el 14 de abril de 2021 a las 00:18 Utilice Gradle 7.0 o JDK con una versión inferior a 16 para importar y compilar el proyecto (Configuración (Preferencias en macOS) | Compilación, Ejecución, Implementación | Herramientas de compilación | Gradle | Opción Gradle JVM).
¿Alguna sugerencia o idea?
Creo que encontré la solución.
Si está importando un proyecto antiguo, es probable que se encuentre con este error.
Básicamente, hizo su proyecto anterior con versiones inferiores de JDK y ahora tiene versiones superiores de JDK instaladas actualmente en su sistema.
Debe evitar versiones superiores de JDK para compilar proyectos más antiguos.
Si tienes el siguiente error:
Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536Luego agregue la siguiente dependencia en su archivo app.gradle:
// multidex implementation 'com.android.support:multidex:1.0.3'entonces necesita habilitar multidex en su archivo app.gradle.
android { compileSdkVersion 30 defaultConfig { applicationId "com.convenient.easymeasure" minSdkVersion 19 targetSdkVersion 30 versionCode 1 versionName "1.0" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }Ejecute Flutter doctor , si hay un error que indica que no se puede encontrar el paquete de Java (especialmente si tiene la versión de Android Studio Artic Fox ), ejecute estos comandos si usa Mac:
Debe estar usando JDK-16, use la versión debajo de JDK-16, en mi caso, cambié a JDK-11 y funcionó para mí.
La solución de GitHub me ha funcionado. No fue necesario degradar Java JDK. Acabo de cambiar la versión de gradle en las propiedades de gradle-wrapper a 7.1.1 (6.x no es compatible con Java 16) y agregué la siguiente línea en gradle.properties:
org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMEDPude solucionarlo actualizando la configuración del proyecto de calificación con Android Studio, que reemplazó classpath("com.android.tools.build:gradle:4.2.2") con classpath('com.android.tools.build:gradle:7.0.3') en android/build.gradle
Debe utilizar una versión de JDK que no sea compatible con la versión de Gradle.
1-Verifique su versión de JDK (no es necesario cambiar a una versión anterior)
2-Verifique la versión respectiva de Gradle para su JDK https://docs.gradle.org/current/userguide/compatibility.html
3-Abra gradle-wrapper.properties desde .\android\gradle\wrapper\ Captura de pantalla para el archivo gradle-wrapper.properties y cambie la URL de distribución a su versión de gradle requerida
por ejemplo , para JDK 17
distributionUrl = https\://services.gradle.org/distributions/gradle-7.3-all.zip4-Abra build.gradle desde .\android\build.gradle classpath en el archivo build.gradle y cambie el complemento en la ruta de clase al que corresponda a su versión de gradle
p.ej
classpath("com.android.tools.build:gradle:4.2.2") for JDK 6.71+ classpath("com.android.tools.build:gradle:7.0.0") for JDK 7+Verifique el complemento compatible para su versión de Gradle en https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
5-ejecutar npx react-native run-android
me ha funcionado en Macbook Air M1 Apple Silicon. no es necesario degradar o desinstalar Java JDK.
en mi caso, acabo de cambiar la versión de gradle en gradle-wrapper.properties a 7.2 así:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zipy agregando la siguiente línea en gradle.properties:
org.gradle.jvmargs=-Xmx1536M --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMEDsolución relacionada en github
Descargué 2 JDK jdk-17.0.1 y jdk-11.0.13 y agregué la siguiente línea en gradle.properties
org.gradle.java.home=C\:\\Program Files (x86)\\Java\\jdk-11.0.13También vaya a Android Studio (Arctic Fox) -> Estructura del proyecto -> Configuración de Gradle y elija la versión JDK