我正在尝试构建Flutter应用程序以与Firebase进行交互。我已将google- services.json放在正确的位置。但是,每当我尝试构建Android应用程序时,我都会得到以下运行日志:
Running "flutter packages get" in smart_diet_flutter... 2.6s Launching lib\main.dart on ONEPLUS A6003 in debug mode... Initializing gradle... Resolving dependencies... Gradle task 'assembleDebug'... registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection) C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:9: error: cannot find symbol import androidx.annotation.NonNull; ^ symbol: class NonNull location: package androidx.annotation C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:10: error: cannot find symbol import androidx.annotation.Nullable; ^ symbol: class Nullable location: package androidx.annotation C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:638: error: cannot find symbol private void reportException(Result result, @Nullable Exception exception) { ^ symbol: class Nullable location: class FirebaseAuthPlugin C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:550: error: cannot find symbol public void onComplete(@NonNull Task<AuthResult> task) { ^ symbol: class NonNull location: class FirebaseAuthPlugin.SignInCompleteListener C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:569: error: cannot find symbol public void onComplete(@NonNull Task<Void> task) { ^ symbol: class NonNull location: class FirebaseAuthPlugin.TaskVoidCompleteListener C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:587: error: cannot find symbol public void onComplete(@NonNull Task<SignInMethodQueryResult> task) { ^ symbol: class NonNull location: class FirebaseAuthPlugin.GetSignInMethodsCompleteListener C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:186: error: cannot find symbol public void onComplete(@NonNull Task<AuthResult> task) { ^ symbol: class NonNull C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:445: error: cannot find symbol public void onComplete(@NonNull Task<GetTokenResult> task) { ^ symbol: class NonNull C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java:499: error: cannot find symbol public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { ^ symbol: class NonNull Note: C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_auth-0.8.0\android\src\main\java\io\flutter\plugins\firebaseauth\FirebaseAuthPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 9 errors FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':firebase_auth:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details. * 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 22s Finished with error: Gradle task assembleDebug failed with exit code 1
通过研究,我发现可能需要升级到AndroidX。我按照此链接升级了我的Android。但是,在尝试构建和运行应用程序时,我仍然遇到相同的错误。
我将InteliJ用作带有flutter项目的IDE,而pubspec.yaml如下所示:
name: smart_diet_flutter description: A new Flutter project. # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 # followed by an optional build number separated by a +. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # Read more about versioning at semver.org. version: 1.0.0+1 environment: sdk: ">=2.0.0-dev.68.0 <3.0.0" dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 firebase_auth: 0.8.0 firebase_database: 1.1.0+1 dev_dependencies: flutter_test: sdk: flutter # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true # To add assets to your application, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.io/assets-and-images/#resolution-aware. # For details regarding adding assets from package dependencies, see # https://flutter.io/assets-and-images/#from-packages # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 # # For details regarding fonts from package dependencies, # see https://flutter.io/custom-fonts/#from-packages assets: - assets/flutter-icon.png
您需要迁移到AndroidX或降级到与AndroidX之前版本兼容的插件版本。
按照https://github.com/flutter/flutter/issues/27106关于有关移民问题(见https://github.com/flutter/flutter/issues/27146,https://github.com/flutter / flutter / issues / 27128输出与您的问题相同的错误)
也可以看看
零钱 。从已弃用的原始Android支持库迁移到AndroidX。这不应该导致任何功能上的变化,但是如果使用原始插件的Android应用程序也必须迁移,因此它们也必须进行迁移。