3
votes

Flutter ne peut pas s'exécuter, erreur get_navigation et thème

J'essaye en fait d'exécuter mon application mais je suis coincé avec cette erreur:

version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.0
  stacked_services:
  auto_route: 0.6.9
  hooks_riverpod: 0.12.1
  flutter_hooks:

  firebase_core: 0.5.1
  firebase_auth: 0.18.2

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner:
  auto_route_generator:

Je ne comprends pas pourquoi il ne peut pas se construire. Je ne vois pas le lien entre ces 2 erreurs:

  • get_navigation
  • quelque chose avec le thème de material.dart Et ma motivation réelle à utiliser riverpod, stacked_services et firebase.

Voici le résultat de flutter doctor -v:

[✓] Flutter (Channel master, 1.24.0-8.0.pre.98, on Mac OS X 10.15.7 19H2 darwin-x64, locale fr-FR)
    • Flutter version 1.24.0-8.0.pre.98 at /Users/Alex/development/flutter
    • Framework revision ef4ec09a06 (6 hours ago), 2020-11-05 08:02:13 -0800
    • Engine revision bf259226b2
    • Dart version 2.12.0 (build 2.12.0-21.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/Alex/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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-b3-6222593)

[✓] Connected device (1 available)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)

! Doctor found issues in 1 category.

Et voici mes dépendances dans pubspeck.yaml

Running "flutter pub get" in riverpod_stacked_app...
Launching lib/main.dart on sdk gphone x86 arm in debug mode...
Running Gradle task 'assembleDebug'...
../../.pub-cache/hosted/pub.dartlang.org/get-3.15.0/lib/get_navigation/src/extension_navigation.dart:235:37: Error: No named parameter with the name 'shadowThemeOnly'.
    final theme = Theme.of(context, shadowThemeOnly: true);
                                    ^^^^^^^^^^^^^^^
../../development/flutter/packages/flutter/lib/src/material/theme.dart:119:20: Context: Found this candidate, but the arguments don't match.
  static ThemeData of(BuildContext context) {
                   ^^
../../.pub-cache/hosted/pub.dartlang.org/get-3.15.0/lib/get_navigation/src/extension_navigation.dart:431:43: Error: No named parameter with the name 'shadowThemeOnly'.
      theme: Theme.of(key.currentContext, shadowThemeOnly: true),
                                          ^^^^^^^^^^^^^^^
../../development/flutter/packages/flutter/lib/src/material/theme.dart:119:20: Context: Found this candidate, but the arguments don't match.
  static ThemeData of(BuildContext context) {
                   ^^


FAILURE: Build failed with an exception.

* Where:
Script '/Users/Alex/development/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 900

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/Users/Alex/development/flutter/bin/flutter'' 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 19s
Exception: Gradle task assembleDebug failed with exit code 1

Des idées ? J'ai essayé de nettoyer mes dépendances et de réinstaller. Aussi, je démarre un projet vierge avec l'application de compteur de flutter et il fonctionne correctement.


1 commentaires

essayez de supprimer le fichier .packages , d'exécuter la pub upgrade , de supprimer pubspec.lock , etc.


3 Réponses :


4
votes

J'ai également eu ce problème aujourd'hui après la mise à niveau de Flutter.

Je n'ai pu le résoudre qu'après avoir supprimé ce paramètre de méthode du fichier qui a déclenché l'erreur. Vous devrez le supprimer à deux endroits.

Recherchez dans .pub-cache / hébergé / pub.dartlang.org / get-3.15.0 / lib / get_navigation / src / extension_navigation.dart pour

Theme.of(key.currentContext)

Comme le remplacer par

Theme.of(key.currentContext, shadowThemeOnly: true)

Ceci est probablement dû à la dépendance stacked_services qui utilise la dépendance get: ^ 3.15.0


2 commentaires

Je supprime Stacked et utilise auto_route ExtendedNavigator et cela fonctionne. Merci !


Aucun problème. Heureux que je puisse aider.



2
votes

ceci est déjà corrigé par getx dans 16.1. La mise à niveau du pub le fera

https://github.com/jonataslaw/getx/issues/762


1 commentaires

cela devrait être la réponse acceptée car ce n'est pas un hack



0
votes

vous devez supprimer uniquement

 ThemeData theme = Theme.of(key.currentContext, shadowThemeOnly: false);
    if (theme != null) {
      bottomSheet = new Theme(data: theme, child: bottomSheet);
    }
    return bottomSheet;

formez votre dossier .pubcach.


0 commentaires