问题
So I'm reading Android 6 for Programmers: An App-Driven Approach and the first two app examples I had no issues with the examples, this time the FlagQuiz example when loaded in Android Studio 3.0 Canary-3 I'm getting this error which isn't letting me build the project:
Error:Unsupported method: BaseConfig.getApplicationIdSuffix(). 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.
You can download the source from the book site here to test with the same code base that I'm testing from.
回答1:
Alright I figured out how to fix this issue.
- Open build.gradle and change the gradle version to the recommended version:
classpath 'com.android.tools.build:gradle:1.3.0'
toclasspath 'com.android.tools.build:gradle:2.3.2'
- Hit
'Try Again'
- In the messages box it'll say
'Fix Gradle Wrapper and re-import project'
Click that, since the minimum gradle version is3.3
- A new error will popup and say
The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0
- HitUpdate Build Tools version and sync project
- A window may popup that says
Android Gradle Plugin Update recommended
, just update from there.
Now the project should be runnable now on any of your android virtual devices.
回答2:
For Android Studio 3 I need to update two files to fix the error:--
1. app/build.gradle
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
2. app/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
回答3:
First, open your application module build.gradle file.
Check the classpath according to your project dependency. If not change the version of this classpath.
from:
classpath 'com.android.tools.build:gradle:1.0.0'
To:
classpath 'com.android.tools.build:gradle:2.3.2'
or higher version according to your gradle of android studio.
If its still problem, then change buildToolsVersion:
From:
buildToolsVersion '21.0.0'
To:
buildToolsVersion '25.0.0'
then hit 'Try again' and gradle will automatically sync. This will solve it.
回答4:
In my case, Android Studio 3.0.1, I fixed the issue with the following two steps.
Step 1: Change Gradle plugin version in project-level build.gradle
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
Step 2: Change gradle version
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
回答5:
I also faced the same issue and got a solution very similar:
Changing the classpath to classpath 'com.android.tools.build:gradle:2.3.2'
Image after adding the classpath
A new message indicating to Update Build Tool version, so just click that message to update. Update
回答6:
Change your gradle version or update it
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
alt+enter and choose "replace with specific version".
回答7:
You can do this by changing the gradle file.
build.gradle > change
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
gradle-wrapper.properties > update
distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip
回答8:
I did the following to make this run on AS 3.5
app/ build.gradle
apply plugin: 'com.android.application'
android { compileSdkVersion 21 buildToolsVersion "25.0.0"
defaultConfig { applicationId "com.example.android.mobileperf.render" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
}
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:21.0.0' implementation 'com.squareup.picasso:picasso:2.71828' }
build.gradle
buildscript { repositories { jcenter() mavenCentral() maven { url 'https://maven.google.com/' name 'Google' } google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' } } allprojects { repositories { jcenter() google() } }
gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
回答9:
If this ()Unsupported method: BaseConfig.getApplicationIdSuffix Android Project is old and you have updated Android Studio, what I did was simply CLOSE PROJECT and ran it again. It solved the issue for me. Did not add any dependencies or whatever as described by other answers.
来源:https://stackoverflow.com/questions/44546849/unsupported-method-baseconfig-getapplicationidsuffix