У меня есть следующая проблема:Android Studio ошибки после добавления внешней библиотеки
Я программирование приложения, которое использует Google Maps, и я хотел бы добавить эту внешнюю LIB
https://github.com/route360/r360-java
Я хотел добавить lib как .jar-файл в Android Studio, поэтому я скомпилировал его с Maven с помощью Java 8 (компиляция с Java 7 не работала).
После добавления .jar в Lib и добавить его к зависимостям и запустить приложение я получаю следующее сообщение об ошибке:
Error:PARSE ERROR:
Error:unsupported class file version 52.0
Error:...while parsing net/motionintelligence/client/Constants.class
Error:1 error; aborting
:app:transformClassesWithDexForDebug FAILED
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_91\bin\java.exe'' finished with non-zero exit value 1
После некоторых исследований в SO я узнал, что это может быть результатом неправильная версия Java, которую я использую, поэтому я установил Java 7, изменил Android JDK на Java 7 и попытался запустить приложение. В результате получается следующее:
Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
Error: at java.lang.ClassLoader.defineClass1(Native Method)
Error: at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
Error: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
Error: at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
Error: at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
Error: at java.security.AccessController.doPrivileged(Native Method)
Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
Error: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
Error: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Error:Exception in thread "main"
:app:transformClassesWithDexForDebug FAILED
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1
Я попытался переключение между Android API, но не решением от SO работал для меня.
В настоящее время им пользуются API 23 Android 6.0.
Вот мой build.gradle файл субмодуля:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.0'
defaultConfig {
applicationId "com.example.jule.bachelorapp"
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
dexOptions {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-ads:9.0.2'
compile 'com.google.android.gms:play-services-auth:9.0.2'
compile 'com.google.android.gms:play-services-gcm:9.0.2'
compile files('libs/r360-java-client-0.0.1.jar')
}
Кто-нибудь знает, как избавиться от этих ошибок? Мне действительно нужно использовать эту библиотеку, поэтому помощь будет высоко оценена.
'Unsupported major.minor version 52.0'. Это происходит потому, что файлы классов не совместимы с вашей JRE. Вам нужно J2SE 8, чтобы избежать этой ошибки. Возвращаясь назад к 8, включите multidex в своем градиенте. Что-то вроде 'defaultConfig { multiDexEnabled true }'. – Jimmy