添加 flutter firebase 身份验证后应用程序崩溃 ui
App crashed after adding flutter firebase auth ui
Flutter firebase auth UI 有一些问题,因为 firebase_auth 版本不匹配问题
我的 flutter 应用程序崩溃了,无法识别问题,在 android 工作室中打开后,我发现了问题,它就在这里
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mycom.mypetshop. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.2:240)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.<init>(FirebaseAuthPlugin.java:54)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.registerWith(FirebaseAuthPlugin.java:47)
at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:20)
at com.vyapari2online.mypetshop.MainActivity.onCreate(MainActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5990)
如何解决?
In project 'app' a resolved Google Play services library dependency
depends on another at an exact version (e.g. "[15.0. 1]", but isn't
being resolved to that version. Behavior exhibited by the library will
be unknown.
Dependency failing: com.google.android.gms:play-services-flags:15.0.1
-> com.google.android.gms:play-services-basement@[
15.0.1], but play-services-basement version was 16.0.1.
The following dependencies are project dependencies that are direct or
have transitive dependencies that lead to the art ifact with the
issue.
-- Project 'app' depends on project 'firebase_auth' which depends onto com.google.firebase:firebase-auth@16.0.2
-- Project 'app' depends on project 'firebase_core' which depends onto com.google.firebase:firebase-core@16.0.4
-- Project 'app' depends on project 'cloud_firestore' which depends onto com.google.firebase:firebase-firestore@17.1.1
-- Project 'app' depends on project 'google_sign_in' which depends onto com.google.android.gms:play-services-auth@16.0.1
For extended debugging info execute Gradle from the command line with
./gradlew --info :app:assembleDebug to see the dep endency paths to
the artifact. This error message came from the google-services Gradle
plugin, report issues at https://
github.com/google/play-services-plugins and disable by adding
"googleServices { disableVersionCheck = false }" to your b uild.gradle
file.
#flutter_firebase_ui有很多问题#google请雇用我,我可以帮助您的开发人员
使用前需要先初始化FirebaseApp
。您可以将它添加到您的 onCreate
方法中。
@Override
public void onCreate() {
super.onCreate();
FirebaseApp.initializeApp(this);
}
还要确保你的 build.gradle
中有依赖项
dependencies {
....
}
apply plugin: 'com.google.gms.google-services'
依赖配置
对于 gradle 问题,请确保您的 Android SDK 和 Firebase/Firestore 插件版本兼容。以下是对我有用的方法:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-auth:16.0.5'
}
在module/app build.gradle
:
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.timeswap.timeswapcore"
minSdkVersion 17
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}
具体注意compileSdkVersion
、targetSdkVersion
以及google-services
和firebase_auth
的版本号。摆弄这些数字最终使我找到了这个配置,它可能会帮助您找到合适的配置。
Firebase 或 Firestore 初始化
关于App初始化,我有这个
Firestore firestore = Firestore.instance;
firestore.settings(timestampsInSnapshotsEnabled: true);
在我的 _initFirestore
中,它在 super.initState()
之后被调用
@override
void initState() {
super.initState();
_initFirestore();
checkCurrentUser();
}
Firebase(以及我使用过的所有其他 Firebase 插件)的初始化方式类似,但使用 firebase_core:
依赖项而不是 pubspec.yaml
中的 cloud_firestore:
。
例如,来自 flutter/plugins/packages/firebase_storage
GitHub repo:
void main() async {
final FirebaseApp app = await FirebaseApp.configure(
name: 'test',
options: FirebaseOptions(
googleAppID: Platform.isIOS
? '1:159623150305:ios:4a213ef3dbd8997b'
: '1:159623150305:android:ef48439a0cc0263d',
gcmSenderID: '159623150305',
apiKey: 'AIzaSyChk3KEG7QYrs4kQPLP1tjJNxBTbfCAdgg',
projectID: 'flutter-firebase-plugins',
),
);
final FirebaseStorage storage = FirebaseStorage(
app: app, storageBucket: 'gs://flutter-firebase-plugins.appspot.com');
runApp(MyApp(storage: storage));
}
您还可以使用 this Medium post 作为开始使用 flutter Firebase Auth 的指南 UI。
为了将来参考,您可以导航到 Github 上的 flutter/plugins/packages/{package name}
,然后在 examples/lib
中找到 main.dart
进行演示。也可以随意利用它来解决您的依赖性问题!
我也遇到同样的问题,通过在 AndroidManifest.xml 中添加 Facebook 应用程序 ID 解决了
尝试 运行 Android app with Android studio 你会收到错误信息
Flutter firebase auth UI 有一些问题,因为 firebase_auth 版本不匹配问题
我的 flutter 应用程序崩溃了,无法识别问题,在 android 工作室中打开后,我发现了问题,它就在这里
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.mycom.mypetshop. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.2:240)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.<init>(FirebaseAuthPlugin.java:54)
at io.flutter.plugins.firebaseauth.FirebaseAuthPlugin.registerWith(FirebaseAuthPlugin.java:47)
at io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:20)
at com.vyapari2online.mypetshop.MainActivity.onCreate(MainActivity.java:11)
at android.app.Activity.performCreate(Activity.java:5990)
如何解决?
In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[15.0. 1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.
Dependency failing: com.google.android.gms:play-services-flags:15.0.1 -> com.google.android.gms:play-services-basement@[ 15.0.1], but play-services-basement version was 16.0.1.
The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art ifact with the issue. -- Project 'app' depends on project 'firebase_auth' which depends onto com.google.firebase:firebase-auth@16.0.2 -- Project 'app' depends on project 'firebase_core' which depends onto com.google.firebase:firebase-core@16.0.4 -- Project 'app' depends on project 'cloud_firestore' which depends onto com.google.firebase:firebase-firestore@17.1.1 -- Project 'app' depends on project 'google_sign_in' which depends onto com.google.android.gms:play-services-auth@16.0.1
For extended debugging info execute Gradle from the command line with ./gradlew --info :app:assembleDebug to see the dep endency paths to the artifact. This error message came from the google-services Gradle plugin, report issues at https:// github.com/google/play-services-plugins and disable by adding "googleServices { disableVersionCheck = false }" to your b uild.gradle file.
#flutter_firebase_ui有很多问题#google请雇用我,我可以帮助您的开发人员
使用前需要先初始化FirebaseApp
。您可以将它添加到您的 onCreate
方法中。
@Override
public void onCreate() {
super.onCreate();
FirebaseApp.initializeApp(this);
}
还要确保你的 build.gradle
dependencies {
....
}
apply plugin: 'com.google.gms.google-services'
依赖配置
对于 gradle 问题,请确保您的 Android SDK 和 Firebase/Firestore 插件版本兼容。以下是对我有用的方法:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-auth:16.0.5'
}
在module/app build.gradle
:
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.timeswap.timeswapcore"
minSdkVersion 17
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}
具体注意compileSdkVersion
、targetSdkVersion
以及google-services
和firebase_auth
的版本号。摆弄这些数字最终使我找到了这个配置,它可能会帮助您找到合适的配置。
Firebase 或 Firestore 初始化
关于App初始化,我有这个
Firestore firestore = Firestore.instance;
firestore.settings(timestampsInSnapshotsEnabled: true);
在我的 _initFirestore
中,它在 super.initState()
@override
void initState() {
super.initState();
_initFirestore();
checkCurrentUser();
}
Firebase(以及我使用过的所有其他 Firebase 插件)的初始化方式类似,但使用 firebase_core:
依赖项而不是 pubspec.yaml
中的 cloud_firestore:
。
例如,来自 flutter/plugins/packages/firebase_storage
GitHub repo:
void main() async {
final FirebaseApp app = await FirebaseApp.configure(
name: 'test',
options: FirebaseOptions(
googleAppID: Platform.isIOS
? '1:159623150305:ios:4a213ef3dbd8997b'
: '1:159623150305:android:ef48439a0cc0263d',
gcmSenderID: '159623150305',
apiKey: 'AIzaSyChk3KEG7QYrs4kQPLP1tjJNxBTbfCAdgg',
projectID: 'flutter-firebase-plugins',
),
);
final FirebaseStorage storage = FirebaseStorage(
app: app, storageBucket: 'gs://flutter-firebase-plugins.appspot.com');
runApp(MyApp(storage: storage));
}
您还可以使用 this Medium post 作为开始使用 flutter Firebase Auth 的指南 UI。
为了将来参考,您可以导航到 Github 上的 flutter/plugins/packages/{package name}
,然后在 examples/lib
中找到 main.dart
进行演示。也可以随意利用它来解决您的依赖性问题!
我也遇到同样的问题,通过在 AndroidManifest.xml 中添加 Facebook 应用程序 ID 解决了 尝试 运行 Android app with Android studio 你会收到错误信息