I know this is a common theme on Stack Overflow–about people breaking their Flutter apps–but I can’t figure out how I broke mine. It worked this morning. I created a new flutter project, which was failing to compile. I tried switching channels and upgrading. But when I came back to my other existing app, it won’t compile now.
I have another app that works, so I tried putting all the dependencies and such to match. Same channel. Same SDK version, etc. Still broken.
HERE’S MY PUBSPEC.YAML:
`description: A new Flutter project.
publish_to: ‘none’
version: 1.0.0+1
environment:
sdk: “>=2.17.0 <3.0.0”
dependencies:
flutter:
sdk: flutter
image_picker: ^1.0.4
cupertino_icons: ^1.0.5
better_player: ^0.0.83
video_compress: ^3.1.0
getwidget: ^4.0.0
flutter_speed_dial: ^7.0.0
flutter_image_compress: ^2.1.0
modal_bottom_sheet: ^3.0.0
share: ^2.0.4
video_thumbnail: ^0.5.0
image_downloader: ^0.31.0
flutter_downloader: ^1.8.1
flutter_file_downloader: ^1.1.2
flutter_dotenv: ^5.0.2
multi_image_picker: ^4.8.1
intl: ^0.19.0
image: ^4.0.13
flutter_swiper_view: ^1.1.8
circular_menu: ^4.0.0
swipe_image_gallery: any
galleryimage: ^2.0.1
flutter_staggered_grid_view: ^0.7.0
photo_view: ^0.15.0
fwfh_text_style: ^2.23.8
dev_dependencies:
flutter_launcher_icons: “^0.13.1”
flutter_test:
sdk: flutter
flutter_lints: ^4.0.0
flutter:
uses-material-design: true
assets:
– lib/images/placeholder.png`
HERE’S MY APP-LEVEL BUILD.GRADLE (which I’ve bumped the compileSdkVersion to 34 because the compiler recommended it):
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 34
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.cumulus"
minSdkVersion 31
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
HERE’S MY GRADDLE-WRAPPER.PROPERTIES
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-7.2-all.zip
HERE’S MY ANDROID BUILD.GRADLE:
buildscript {
ext.kotlin_version = '1.6.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}
BELOW IS THE TERMINAL’S OUTPUT WHEN I RUN “flutter run –release”
flutter run --release
Launching libmain.dart on Nokia G310 5G in release mode...
You are applying Flutter's app_plugin_loader Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
You are applying Flutter's main Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
e: C:srcflutterpackagesflutter_toolsgradlesrcmainkotlindependency_version_checker.gradle.kts:238:23: Unresolved reference: DependencyValidationException
e: C:srcflutterpackagesflutter_toolsgradlesrcmainkotlindependency_version_checker.gradle.kts:263:23: Unresolved reference: DependencyValidationException
e: C:srcflutterpackagesflutter_toolsgradlesrcmainkotlindependency_version_checker.gradle.kts:288:23: Unresolved reference: DependencyValidationException
e: C:srcflutterpackagesflutter_toolsgradlesrcmainkotlindependency_version_checker.gradle.kts:313:23: Unresolved reference: DependencyValidationException
Warning: Flutter was unable to detect project Gradle, Java, AGP, and KGP versions. Skipping dependency version checking. Error was: org.gradle.internal.exceptions.LocationAwareException: Script 'C:srcflutterpackagesflutter_toolsgradlesrcmainkotlindependency_version_checker.gradle.kts' line: 238
Script compilation errors:
Line 238: throw DependencyValidationException(errorMessage)
^ Unresolved reference: DependencyValidationException
Line 263: throw DependencyValidationException(errorMessage)
^ Unresolved reference: DependencyValidationException
Line 288: throw DependencyValidationException(errorMessage)
^ Unresolved reference: DependencyValidationException
Line 313: throw DependencyValidationException(errorMessage)
^ Unresolved reference: DependencyValidationException
4 errors
../../AppData/Local/Pub/Cache/hosted/pub.dev/better_player-0.0.83/lib/src/configuration/better_player_controls_configuration.dart:243:34: Error: The getter 'bodyText1' isn't defined for the class 'TextTheme'.
- 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/C:/src/flutter/packages/flutter/lib/src/material/text_theme.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'bodyText1'.
textColor: theme.textTheme.bodyText1?.color ?? Colors.white,
^^^^^^^^^
../../AppData/Local/Pub/Cache/hosted/pub.dev/better_player-0.0.83/lib/src/configuration/better_player_controls_configuration.dart:244:35: Error: The getter 'button' isn't defined for the class 'TextTheme'.
- 'TextTheme' is from 'package:flutter/src/material/text_theme.dart' ('/C:/src/flutter/packages/flutter/lib/src/material/text_theme.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'button'.
iconsColor: theme.textTheme.button?.color ?? Colors.white,
^^^^^^
Target kernel_snapshot_program failed: Exception
FAILURE: Build failed with an exception.
* Where:
Script 'C:srcflutterpackagesflutter_toolsgradlesrcmaingroovyflutter.groovy' line: 1691
* What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.
> Process 'command 'C:srcflutterbinflutter.bat'' finished with non-zero exit value 1
* 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 56s
Running Gradle task 'assembleRelease'... 57.9s
Error: Gradle task assembleRelease failed with exit code 1
#0 throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
#1 AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:500:9)
<asynchronous suspension>
#2 AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:224:5)
<asynchronous suspension>
#3 AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:584:7)
<asynchronous suspension>
#4 FlutterDevice.runCold (package:flutter_tools/src/resident_runner.dart:534:33)
<asynchronous suspension>
#5 ColdRunner.run (package:flutter_tools/src/run_cold.dart:55:28)
<asynchronous suspension>
#6 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:853:27)
<asynchronous suspension>
#7 FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1405:27)
<asynchronous suspension>
#8 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#9 CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#10 FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:372:9)
<asynchronous suspension>
#11 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#12 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:308:5)
<asynchronous suspension>
#13 run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:130:9)
<asynchronous suspension>
#14 AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#15 main (package:flutter_tools/executable.dart:93:3)
<asynchronous suspension>
Derrick Klug is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.