Firebase Flitter应用程序在开始使用fire base时崩溃?
启动了一个新的颤振项目并尝试使用firestore 完成所有步骤后,将项目添加到fire base 将所有插件添加到pubspec.yaml,然后运行项目 日志cat显示:Firebase Flitter应用程序在开始使用fire base时崩溃?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,启动了一个新的颤振项目并尝试使用firestore 完成所有步骤后,将项目添加到fire base 将所有插件添加到pubspec.yaml,然后运行项目 日志cat显示: 04-04 14:54:56.061 24084-24084/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.firestoreflutterchat, PID: 24084 java.lang.RuntimeException:
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
在添加CloudFireStore插件之前,新项目是在添加此插件之后运行的,我有问题
这是Pubspec.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
版本:1.0.0+1
环境:
sdk:“>=2.7.0Firebase似乎仍保留一些设置。
签出此项并在project中相应地设置.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
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
....
<application
....
android:name="android.support.multidex.MultiDexApplication"
...>
<activity />
...
</application>
</manifest>
AndroidManifest.xml文件
android {
.....
defaultConfig {
......
multiDexEnabled true//add this line
}
......
dependencies{
compile 'com.android.support:multidex:1.0.1'//add this line
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
....
<application
....
android:name="android.support.multidex.MultiDexApplication"
...>
<activity />
...
</application>
</manifest>
使用multidex无法解决问题,唯一的方法是删除它并遵循此链接
它的工作原理是在你的渐变中移除这些
multiDexEnabled true
及
从这个转变过来
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.** { *; }
您在firebase和您的项目中都正确设置了吗?需要重建..颤振热启动和热重启不起作用是的,按照firebase的建议进行了设置,但我认为云firestore插件造成了问题。添加您的pubspecandroid:name=“android.support.multidex.multidex应用程序“由于未解决而给出错误绕过此行并再次检查。旁路线是什么意思尝试添加多索引后日志中的错误为:java.lang.RuntimeException:无法实例化活动组件信息”{com.example.firestoreflatterchat/com.example.firestoreflatterchat.MainActivity}:java.lang.ClassCastException:com.example.firestoreflatterchat.MainActivity不能强制转换为android.app.Activity