Gradle sync failed: Unsupported method: SyncIssue.getMultiLineMessage().
The version of Gradle you connect to does not support that method.
To resolve the problem you can change/upgrade the target version of Gradle you connect to.
Alternatively, you can ignore this exception and read other information from the model.
Consult IDE log for more details (Help | Show Log) (31 s 894 ms)
问题原因:Android Studio 4.1.2 编译老项目无法通过,主要原因是Gradle版本和Gradle Plugin插件版本问题。
1、查看Android Gradle 插件版本说明。
https://developer.android.google.cn/studio/releases/gradle-plugin.html#updating-plugin
| 插件版本 | 所需的 Gradle 版本 |
|---|---|
| 1.0.0 – 1.1.3 | 2.2.1 – 2.3 |
| 1.2.0 – 1.3.1 | 2.2.1 – 2.9 |
| 1.5.0 | 2.2.1 – 2.13 |
| 2.0.0 – 2.1.2 | 2.10 – 2.13 |
| 2.1.3 – 2.2.3 | 2.14.1+ |
| 2.3.0+ | 3.3+ |
| 3.0.0+ | 4.1+ |
| 3.1.0+ | 4.4+ |
| 3.2.0 – 3.2.1 | 4.6+ |
| 3.3.0 – 3.3.3 | 4.10.1+ |
| 3.4.0 – 3.4.3 | 5.1.1+ |
| 3.5.0 – 3.5.4 | 5.4.1+ |
| 3.6.0 – 3.6.4 | 5.6.4+ |
| 4.0.0+ | 6.1.1+ |
| 4.1.0+ | 6.5+ |
2、设置gradle/wrapper/gradle-wrapper.properties。(gradle版本配置文件位置)
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip
3、设置builder.gradle。在repositories、allprojects,增加 google() Maven仓库。(gradle插件版本配置文件位置)
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
4、设置app/builder.gradle。(gradle模块配置文件位置)
原文件:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:25.1.0'
}
修改后:(compile替换为implementation、androidTestCompile替换为androidTestImplementation、testCompile替换为testImplementation)
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "cn.chanpinxue.cts"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:design:25.1.0'
}