studio2.3.3 jdk1.8 1.7不相容報錯的問題
阿新 • • 發佈:2019-01-05
報錯描述
Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.
解決
android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { applicationId "com.example.ygh.myapplication" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" jackOptions { enabled true } } //新增如下程式碼 compileOptions{ sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
注意
jackOptions { enabled true }
compileOptions{ sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }
主要新增這2行
如果還報錯的話, minSdkVersion 15 改成25 編譯成功後再改回來。