Reputation: 1005
I have this project in Flutter, but I haven't been able to build an apk for a couple of weeks, because of the Gradle version. I've tried everything, but Flutter always returns the error below:
I already install every update I found, even though, it shows that the Gradle version is 4.10.2.
...
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\israel.gomes\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\audioplayers-0.17.4\android\build.gradle' line: 25
* What went wrong:
A problem occurred evaluating root project 'audioplayers'.
> Failed to apply plugin [id 'kotlin-android']
> The current Gradle version 4.10.2 is not compatible with the Kotlin Gradle plugin. Please use Gradle 5.3 or newer, or the previous version of the Kotlin plugin.
* 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 1s
The plugin audioplayers could not be built due to the issue above.
Here some information about the project status and environment----------------------
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-all.zip
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
.
.
.
------------------------------------------------------------
Gradle 5.6.2
------------------------------------------------------------
Build time: 2019-09-05 16:13:54 UTC
Revision: 55a5e53d855db8fc7b0e494412fc624051a8e781
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 1.8.0_261 (Oracle Corporation 25.261-b12)
OS: Windows 10 10.0 amd64
[√] Flutter (Channel dev, 2.1.0-12.1.pre, on Microsoft Windows [versão 10.0.19042.867], locale pt-BR)
• Flutter version 2.1.0-12.1.pre at C:\Flutter
• Framework revision 8264cb3e8a (3 weeks ago), 2021-03-10 12:37:57 -0800
• Engine revision 711ab3fda0
• Dart version 2.13.0 (build 2.13.0-116.0.dev)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at C:\Users\israel.gomes\AppData\Local\Android\Sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_HOME = C:\Users\israel.gomes\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] IntelliJ IDEA Community Edition (version 2020.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.3
• Flutter plugin version 55.0.4
• Dart plugin version 203.7759
[√] VS Code (version 1.54.3)
• VS Code at C:\Users\israel.gomes\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.20.0
[√] Connected device (3 available)
• Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 7.1.1 (API 25) (emulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.114
• Edge (web) • edge • web-javascript • Microsoft Edge 87.0.664.75
• No issues found!
Upvotes: 89
Views: 203308
Reputation: 4082
Here is what worked for me in Aug 2024.
Upvotes: 1
Reputation: 5192
I managed to do this using command line in Windows
cd path/to/your/flutter_project/android
gradlew wrapper --gradle-version=7.6.1
p.s. Flutter is giving me heart attack every time I need to rebuild my project after some time.
Upvotes: 3
Reputation: 21
Now theres a way easier way to update the gradle version in your flutter project. See Android Java Gradle migration guide in the official flutter docs.
If you want to manually upgrade the gradle version in your version, simply do a manual fix at the command line:
Go to the Android directory for your project.
cd android
Update Gradle to the preferred version. Choose between 7.3 through 7.6.1, inclusive. (for currently allowed version see Android Java Gradle migration guide)
./gradlew wrapper --gradle-version=7.6.1
This will automatically update the distributionUrl in the android/gradle/wrapper/gradle-wrapper.properties
with the version chosen in the --gradle-version parameter.
Upvotes: 0
Reputation: 511548
Here is how I upgraded gradle in my older Flutter project:
Create a new temp project with the latest version of Flutter. You'll use this to see what version of gradle Flutter is using nowadays.
In the temp project open android/build.gradle check the classpath version of gradle being used and update that in your old Flutter project. For me today it looks like this:
classpath 'com.android.tools.build:gradle:4.1.0'
In the temp project open android/gradle/wrapper/gradle-wrapper.properties and check the distributionUrl
. Update your old project to use the same one. For me today it looks like this:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
Rerun your app. It has to download the new version of gradle to the android/.gradle
directory so the first time might take a while.
If your Android project doesn't have a lot of customizations, just delete the android
folder (back it up first, especially the key.properties file) and recreate it by running the following from the root of your project:
flutter create .
This has been my preference recently. Although I have to recreate the launcher icon and other custom settings in AndroidManifest.xml
, I know that I am getting the latest updates Flutter has to offer Android. There seems to be a lot more than gradle that Flutter changes about Android if your project is a year or two old.
Upvotes: 117
Reputation: 34
android/gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
if 7.6.1 is not working use 7.5
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
android/build.gradle:
classpath "com.android.tools.build:gradle:7.4.2"
Upvotes: -2
Reputation: 21
Everyone is saying edit this, update that but it's not always the best solution when the app code is shared across multiple developers.
You should install the recommended java version corresponding to the project gradle version.
export PATH="/usr/lib/jvm/java-18-openjdk-amd64/bin/java:$PATH"
Please note that other solutions listed above will also work fine, but this answer add some context and will just be easier than to update all your project's gradle version.
Have a nice day 👋🏼
Upvotes: 2
Reputation: 178
I was getting this issue:
FAILURE: Build failed with an exception.
Where: Build file '/home/marcelo-cesar/Desktop/Overseasconnection-player-teams/android/app/build.gradle' line: 47
What went wrong: A problem occurred evaluating project ':app'.
Could not find method minSdkVersion() for arguments [19, null] on DefaultConfig$AgpDecorated_Decorated{name=main, dimension=null, minSdkVersion=null, targetSdkVersion=null, renderscriptTargetApi=null, renderscriptSupportModeEnabled=null, renderscriptSupportModeBlasEnabled=null, renderscriptNdkModeEnabled=null, versionCode=null, versionName=null, applicationId=com.ls.overseasagent, testApplicationId=null, testInstrumentationRunner=null, testInstrumentationRunnerArguments={}, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=[], buildConfigFields={}, resValues={}, proguardFiles=[], consumerProguardFiles=[], manifestPlaceholders={applicationName=android.app.Application}, wearAppUnbundled=null} of type com.android.build.gradle.internal.dsl.DefaultConfig$AgpDecorated.
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.
BUILD FAILED in 3s Exception: Gradle task assembleDebug failed with exit code 1 Exited (sigterm)
I solved it by making these changes: In android/build.gradle update these lines with these following:
ext.kotlin_version = '1.7.10'
classpath 'com.android.tools.build:gradle:7.3.1'
In android/app/build.gradle update with this value: compileSdkVersion 33
defaultConfig {
… minSdkVersion 21 targetSdkVersion 31 }
In android/gradle/wrapper/gradle-wrapper.properties update distribution line with this:
distributionUrl=https://services.gradle.org/distributions/gradle-7.5-all.zip
Upvotes: 0
Reputation: 1628
In late 2022, Android Studio can fix that and upgrade Gradle:
Based on Nick Fortescue answer
Upvotes: 0
Reputation: 44153
An update for 2022, Android Studio Dolphin. The other answers gave me a start, but are no longer up-to-date.
Open Android module in Android Studio
File
Project Structure
Project
Android Gradle Plugin Version
dropdown and choose the latest version (or whatever one you want to update to)Gradle Version
dropdown and choose the latest version (or whatever one you want to update to)Upvotes: 14
Reputation: 4897
Fast way of doing it:
Upvotes: -1
Reputation: 145
android/gradle/wrapper/gradle-wrapper.properties
:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
android/build.gradle
:
classpath "com.android.tools.build:gradle:7.0.1"
in android/gradle.properties
, add this:
org.gradle.java.home=C:\\Program Files\\Android\\Android Studio\\jre
Upvotes: 11
Reputation: 4897
The easiest way (I do so as Android Dev):
flutter clean
Upvotes: 58
Reputation: 51
Upgrade gradle in a Flutter project.
Open the file gradle-wrapper.properties
located at {yourProjectName}/android/gradle/wrapper/gradle-wrapper.properties
and replace the distributionUrl
by changing the gradle
version.
For example if you want to upgrade gradle from version 5.1.1
to 6.1.1
, change the Url from https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
to https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
and rebuild your app.
Upvotes: 5
Reputation: 16708
Try renaming the android/
folder in your project. Then run flutter create .
in the directory. This should recreate your android directory. Try your build again and see if it fixed your problem.
Upvotes: 9
Reputation: 3862
It appears as if audioplayers
has an incompatible gradle version with your project.
Try upgrading audioplayers
to the newest version, although this may not fix the issue, as the last comment in this thread was less than 24 hours ago.
audioplayers: ^0.18.3
Upvotes: 5