Tiene "versión de archivo de clase no compatible 52.0" después de incluir un módulo en un proyecto

Después de crear un proyecto vacío dentro de Android Studio e incluir un módulo java puro, que compila y funciona perfectamente por sí solo, obtengo el siguiente error en cada clase del módulo:

Error:PARSE ERROR: Error:unsupported class file version 52.0

He intentado ejecutar el proyecto utilizando el JDK incorporado y el que tengo en mi sistema – JDK 8 (1.8.0_91), el resultado es el mismo.

Tenga en cuenta que no incluyo el módulo como .jar , es el código fuente que importa con la siguiente instrucción:

 include ':app', ':my-module' project(':my-module').projectDir = new File(settingsDir, '../my-module-java') 

Lo tengo, el error fue porque no especifique las opciones de compatibilidad en el propio módulo. Esto significa que si ha instalado y utilizando JDK 8 y su proyecto android utiliza Java 1.7 (que es por defecto en Android SDK 23 y siguientes) y tiene un módulo incluido sin ninguna especificación para utilizar Java 1.7, entonces ese módulo será compilado con JDK 8 utilizando la sintaxis de Java 1.8 y habrá un error porque no son compatibles y el compilador que utiliza Java 1.7 no puede analizar los archivos de clase que estaban apuntando a Java 1.8 y tienen la versión 52.

Build.gradle – este archivo de compilación es para nivel de módulo

 apply plugin: 'java' buildscript { tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') // Your libraries here } 

Sé, especifico la versión de destino 1_7

La Guía de Compatibilidad de Oracle para Java 8 dice (en parte)

La versión del archivo de clase para Java SE 8 es 52.0 según la Especificación de JVM. Los archivos de clase de la versión 52.0 producidos por un compilador Java SE 8 no se pueden utilizar en versiones anteriores de Java SE.

Meta Java 7 y recompile.

He enfrentado errores similares mientras construía el proyecto.

 Error:PARSE ERROR Error:unsupported class file version 52.0 

Me enfrenté a estos errores después de haber cambiado de Java 1.8 a Java 1.7 . Mi proyecto consta de varias bibliotecas, 1 módulo de aplicación, 3 módulos de biblioteca de Android y 2 módulos de biblioteca de Java. No build.gradle nada en las bibliotecas de Android, pero añadí las siguientes líneas en las dependencias de los archivos build.gradle de las bibliotecas Java.

 sourceCompatibility = 1.7 targetCompatibility = 1.7 

Resolvió el problema para mí. El error de análisis se debió principalmente a que las clases Java 1.8 no se podían analizar en clases Java 1.7.

Recibí este error por primera vez después de actualizar Android Studio desde 2.1 a 2.2.2, y me quedé perplejo porque mi sistema sólo tenía Java 1.7 instalado, o eso pensé. Resulta que Android 2.2.2 instala su propio Java 1.8 JRE (C: \ Archivos de programa \ Android \ Android Studio \ jre), por lo que la necesidad de especificar sourceCompatibility y targetCompatibility en build.gradle para las bibliotecas java puras como se explicó anteriormente.

 apply plugin: 'java' dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') sourceCompatibility = 1.7 targetCompatibility = 1.7 } 
  • Cómo jugar ringtone selected from RingtonePreference
  • Error al cargar CharSequence en Scala 2.11.4 y sbt 0.12.4
  • Android - ¿Puedes actualizar un Cursor para los resultados de SQLite?
  • Detenga el subproceso Java que llama a la función JNI
  • ¿Cuál es la manera optimizada?
  • Unity Android Error de compilación WIN32 Excepción ZipAlign
  • Sube fotos de la aplicación de Android a Google Cloud Storage / App Engine - carácter ilegal '_'
  • HttpURLConnection de Android y URL con caracteres especiales
  • El emulador Android de Bluestacks está construido usando .Net?
  • Gradle dependencias que se resuelven de repente muy lento
  • ¿Por qué esta tarea de fondo falla con una excepción fatal?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.