compileSdkVersion 30
buildToolsVersion '30.0.0'
defaultConfig {
applicationId "com.linkkit.aiot_android_demo"
minSdkVersion 19
targetSdkVersion 29
versionCode 2
versionName "2.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
JDK版本1.8
编译程序没有报错,运行时报错:Unsupported class file major version 59
Unsupported class file major version 59
你这个问题是因为你引用的一个包bouncycastle是jdk15的,你需要把他换成jdk8的或者,把你的jdk版本换成jdk15
Unsupported class file major version 59 android studio,这个问题是java的运行环境jre和工程的编译环境jdk不一致。比如说,jre7的环境去加载jdk8编译的class,所以导致错误。要么指定编译环境jdk,要么替换jre运行环境。其中version 59,是JDK 15版本。
java moudle library,指定java8, 直接在build.gradle文件中找个地方加入:
sourceCompatibility = 1.8
targetCompatibility = 1.8
报错:Unsupported class file major version 59
其原因就是版本不兼容问题
补充新的编译错误如下所示:```xml
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':app:javaPreCompileDebug'.
Could not resolve all files for configuration ':app:debugCompileClasspath'.
Failed to transform artifact 'bcprov-jdk15on.jar (org.bouncycastle:bcprov-jdk15on:1.68)' to match attributes {artifactType=android-classes, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
Execution failed for JetifyTransform: C:\Users\16966.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.68\46a080368d38b428d237a59458f9bc915222894d\bcprov-jdk15on-1.68.jar.
Failed to transform 'C:\Users\16966.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.68\46a080368d38b428d237a59458f9bc915222894d\bcprov-jdk15on-1.68.jar' using Jetifier. Reason: Unsupported class file major version 59. (Run with --stacktrace for more details.)
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org/
BUILD FAILED in 3s
```
把JDK的版本重新配置一下,或者在gradle文件中指定JDK版本,两种解决方案应该都可以解决这个问题