繁体   English   中英

Flutter 发布应用 Firestore 致命异常

[英]Flutter release app Firestore fatal exception

您好,我的应用程序在发布模式下有一个问题,我一周都无法解决。 当我键入 flutter run --release 时,在调试模式下一切正常,但出现此错误。 可能是什么问题? 生成 sha1 和 sha256 密钥并应用于 firebase。可能是因为 inte.net 权限? 但它初始化 firebase,我现在真的卡住了。 当我从 mac 生成发布 apk 时,我遇到了同样的错误。

flutter 医生 - v

    C:\Users\Alperen\AndroidStudioProjects\hilmiguneruygulmasi>flutter doctor -v
[√] Flutter (Channel master, 2.3.0-17.0.pre.372, on Microsoft Windows [Version 10.0.19042.1052], locale tr-TR)
    • Flutter version 2.3.0-17.0.pre.372 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a2336e9ac7 (24 hours ago), 2021-06-15 14:59:04 -0400
    • Engine revision e0011fa561
    • Dart version 2.14.0 (build 2.14.0-211.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 51.0.1
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2020.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2
    • 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

[√] Connected device (1 available)
    • SM G780F (mobile) • RF8NA01VXSL • android-arm64 • Android 11 (API 30)

 Running "flutter pub get" in              1.349ms
    Launching lib\main.dart on SM G780F in release mode...
    Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\advance_pdf_viewer-2.0.0\android\src\main\java\pt\tribeiro\flutter_plugin_pdf_viewer\FlutterPluginPdfViewerPlugin.java uses or ove
    rrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-1.3.0\android\src\main\java\io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java uses or overrides a depr
    ecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.2.2\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestorePlugin.java uses or over
    rides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-2.2.2\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java uses
     unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_storage-8.1.3\android\src\main\java\io\flutter\plugins\firebase\storage\FlutterFirebaseStoragePlugin.java:38: warning: [depreca
    tion] Registrar in PluginRegistry has been deprecated
      public static void registerWith(PluginRegistry.Registrar registrar) {
                                                    ^
    1 warning
    Running Gradle task 'assembleRelease'...                          124,6s
    √  Built build\app\outputs\flutter-apk\app-release.apk (8.0MB).
    Installing build\app\outputs\flutter-apk\app.apk...                 8,5s
    
    Flutter run key commands.
    h List all available interactive commands.
    c Clear the screen
    q Quit (terminate the application on the device).
    E/AndroidRuntime(18581): FATAL EXCEPTION: main
    E/AndroidRuntime(18581): Process: com.yol.hilmiguneruygulmasi, PID: 18581
    E/AndroidRuntime(18581): java.lang.RuntimeException: Internal error in Cloud Firestore (23.0.1).
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.u.m(Unknown Source:19)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.f.run(Unknown Source:2)
    E/AndroidRuntime(18581):        at android.os.Handler.handleCallback(Handler.java:938)
    E/AndroidRuntime(18581):        at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime(18581):        at android.os.Looper.loop(Looper.java:246)
    E/AndroidRuntime(18581):        at android.app.ActivityThread.main(ActivityThread.java:8506)
    E/AndroidRuntime(18581):        at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(18581):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
    E/AndroidRuntime(18581):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
    E/AndroidRuntime(18581): Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to gain exclusive lock to the Cloud Firestore client's offline persistence. This genera
    lly means you are using Cloud Firestore from multiple processes in your app. Keep in mind that multi-process Android apps execute the code in your Application class in all processes, so
    you may need to avoid initializing Cloud Firestore in your Application class. If you are intentionally using Cloud Firestore from multiple processes, you can only enable offline persiste
    nce (that is, call setPersistenceEnabled(true)) in one of them.
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.s.i(Unknown Source:14)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.d.run(Unknown Source:4)
    E/AndroidRuntime(18581):        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
    E/AndroidRuntime(18581):        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    E/AndroidRuntime(18581):        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    E/AndroidRuntime(18581):        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    E/AndroidRuntime(18581):        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.r.run(Unknown Source:15)
    E/AndroidRuntime(18581):        at java.lang.Thread.run(Thread.java:923)
    E/AndroidRuntime(18581): Caused by: java.lang.RuntimeException: Failed to gain exclusive lock to the Cloud Firestore client's offline persistence. This generally means you are using Clou
    d Firestore from multiple processes in your app. Keep in mind that multi-process Android apps execute the code in your Application class in all processes, so you may need to avoid initia
    lizing Cloud Firestore in your Application class. If you are intentionally using Cloud Firestore from multiple processes, you can only enable offline persistence (that is, call setPersis
    tenceEnabled(true)) in one of them.
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.q0.e1.k(Unknown Source:44)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.p0.i0.i(:1)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.p0.X.g(Unknown Source:65)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.p0.X.r(Unknown Source:10)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.p0.s.run(Unknown Source:8)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.b.call(lambda:1)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.u0.s.i(Unknown Source:0)
    E/AndroidRuntime(18581):        ... 8 more
    E/AndroidRuntime(18581): Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5 SQLITE_BUSY[5]): , while compiling: PRAGMA journal_mode
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1463)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:1050)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:606)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:542)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:378)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:226)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:737)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:284)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:251)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:1392)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:1337)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:980)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:444)
    E/AndroidRuntime(18581):        at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:387)
    E/AndroidRuntime(18581):        at com.google.firebase.firestore.q0.e1.k(Unknown Source:16)
    E/AndroidRuntime(18581):        ... 14 more

打开 Android Studio -> 文件 -> 设置 -> 外观和行为 -> 系统设置 -> Android SDK。选择 SDK 工具并查找 Android SDK 命令行工具(最新)。 Select 并安装更新(如果有)。 单击下面的应用按钮进行安装。

打开 cmd 并运行“flutter doctor”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM