Приложение Flutter вылетает при запуске с использованием базы огня? - PullRequest
0 голосов
/ 04 апреля 2020

Запустил новый проект флаттера и попытался использовать Firestore.

После выполнения всех шагов, чтобы добавить проект в базу Fire.

Добавление всех плагинов в pubspe c .yaml и затем запуск проект.

Журнал cat показывает это:

04-04 14:54:56.061 24084-24084/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.firestoreflutterchat, PID: 24084
    java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.example.firestoreflutterchat-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.firestoreflutterchat-2, /vendor/lib, /system/lib]]
        at android.app.ActivityThread.installProvider(ActivityThread.java:4869)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4461)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4401)
        at android.app.ActivityThread.access$1500(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5097)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.example.firestoreflutterchat-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.firestoreflutterchat-2, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
        at android.app.ActivityThread.installProvider(ActivityThread.java:4854)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4461) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4401) 
        at android.app.ActivityThread.access$1500(ActivityThread.java:139) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:136) 
        at android.app.ActivityThread.main(ActivityThread.java:5097) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:515) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
        at dalvik.system.NativeStart.main(Native Method

Перед добавлением плагина облачного firestore новый проект запускался после добавления этого, у меня возникла проблема.

Это файл Pubspe c .yaml:

 version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter



  cloud_firestore: ^0.13.4+2
  permission_handler: ^5.0.0+hotfix.3
  firebase_auth: ^0.15.5+3
  google_sign_in: ^4.4.0
  cupertino_icons: ^0.1.3

dev_dependencies:
  flutter_test:
    sdk: flutter




flutter:


  uses-material-design: true

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

проблема не решена с мультидексом, единственный способ был удалить ее и перейти по этой ссылке

решить проблему мультидекса

это сработало, удалив их в вашем gradle

multiDexEnabled true

и

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

и переход от этого

buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

к этому

buildTypes {
    release {
            signingConfig signingConfigs.release
            minifyEnabled true
            useProguard true
    }
    debug{
        minifyEnabled true
        useProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

и на вашем пути: / android / app

щелкните правой кнопкой мыши и создайте файл с именем proguard-rules.pro

и поместите эти файлы в файл

#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
0 голосов
/ 04 апреля 2020

Кажется, что некоторые настройки все еще остаются для Firebase.
Извлеките эту ссылку и настройте файл. json и .plist соответственно в проекте.

Если вы продолжите По-прежнему сталкиваясь с проблемой,
Я бы порекомендовал некоторые шаги.
1) Удалите все файлы сборки проекта, неверный кеш и перезапустите android studio.
2) Следуйте приведенным ниже изменениям в вашем проекте.

файл build.gradle

android {
.....
defaultConfig {
......
 multiDexEnabled true//add this line
}
......
dependencies{
 compile 'com.android.support:multidex:1.0.1'//add this line
}

AndroidManifest. xml файл

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
....
<application
....
 android:name="android.support.multidex.MultiDexApplication" 
...>
 <activity   />
...

</application>

</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...