正如标题所述,我正在尝试为我的Flutter应用程序使用Firebase firestore设置匿名登录,但是该崩溃在Android上崩溃。在iOS上运行正常。
我使用firebase控制台中的向导为我的应用设置了Firebase,并在配置android应用时使用了所有建议的版本号。
我在android / build.gradle文件中的依赖关系如下:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.2'
}
并在android / app / build.gradle文件中设置以下内容:
minSdkVersion 21 targetSdkVersion 28
我还下载了google-services.json文件并将其放置到路径android / app
我知道我已连接到Firebase,因为我设置了Google Analytics(分析),并且可以在Analytics(分析)面板中看到自己是活跃用户
这是我为匿名登录设置的内容:
在“ auth.dart”文件中:
import 'package:firebase_auth/firebase_auth.dart';
class AuthService {
// this instance allows us to communicate with Firebase in the backend
final FirebaseAuth _auth = FirebaseAuth.instance;
// sign in anon
Future signInAnon() async {
try {
AuthResult result = await _auth.signInAnonymously();
FirebaseUser user = result.user;
return user;
} catch (e) {
print(e.toString());
return null;
}
}
以及在SignIn小部件中,我在其中使用了一个调用anonSignIn方法的按钮:
GestureDetector(
onTap: () async {
dynamic result = await _auth.signInAnon();
if (result == null) {
print('error signing in');
} else {
print('anon user signed in');
print(result);
}
},
child: Text(
'Skip for now >',
style: TextStyle(color: eigthColor),
),
),
该应用在调试控制台中为iOS打印正确的结果,但是当在模拟器,真实设备(三星)上的Android上运行时,按下按钮且调试中显示的所有内容均会退出应用控制台在下面。我是开发新手。请帮忙!
** W / BiChannelGoogleApi(11081):[FirebaseAuth:] getGoogleApiForMethod()返回了Gms:com.google.firebase.auth.api.internal.zzak@c8b9c14 E / AndroidRuntime(11081):进程:com.tsf.freshee_scratch,PID:11081 E / AndroidRuntime(11081):java.lang.NoClassDefFoundError:无法解决以下问题:Landroid / support / v4 / util / ArrayMap; E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzam.zzc(未知来源:22) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzam.zzde(未知来源:17) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzam.zzdd(未知来源:8) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzan.zzdf(未知来源:1) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzm.isAnonymous(未知来源:47) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzat.zzi(未知来源:57) E / AndroidRuntime(11081):位于com.google.firebase.auth.internal.zzat.zzg(未知来源:10) E / AndroidRuntime(11081):位于com.google.firebase.auth.FirebaseAuth.zza(未知来源:62) E / AndroidRuntime(11081):位于com.google.firebase.auth.FirebaseAuth $ zzb.zza(未知来源:5) E / AndroidRuntime(11081):位于com.google.firebase.auth.api.internal.zzcl.zzdx(未知来源:13) E / AndroidRuntime(11081):位于com.google.firebase.auth.api.internal.zzen.zzen(未知来源:35) E / AndroidRuntime(11081):位于com.google.firebase.auth.api.internal.zzen.zza(未知来源:41) E / AndroidRuntime(11081):位于com.google.firebase.auth.api.internal.zzep.zza(未知来源:9) E / AndroidRuntime(11081):位于com.google.firebase.auth.api.internal.zzdx.dispatchTransaction(未知来源:9) E / AndroidRuntime(11081):位于com.google.android.gms.internal.firebase_auth.zza.onTransact(未知来源:13) E / AndroidRuntime(11081):位于android.os.Binder.execTransact(Binder.java:739) E / AndroidRuntime(11081):由以下原因引起:java.lang.ClassNotFoundException:在路径:DexPathList [[zip file“ /data/app/com.tsf]上找不到类” android.support.v4.util.ArrayMap“。 freshee_scratch-RyjASMTcDx7DTMAHwjdqeg == / base.apk“],nativeLibraryDirectories = [/ data / app / com.tsf.freshee_scratch-RyjASMTcDx7DTMAHwjdqeg == / lib / arm64,/data/app/y_dsh=eqwddwsh_desh_eshde=ebase_apsh_desh_eshfrdjwegds=ebase_aps_dsh_eshdege=ebase_apsh_esh=dbase_apkde=ebase_apkde=sbase.apk”] .apk!/ lib / arm64-v8a,/ system / lib64,/ system / vendor / lib64]] E / AndroidRuntime(11081):位于dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134) E / AndroidRuntime(11081):位于java.lang.ClassLoader.loadClass(ClassLoader.java:379) E / AndroidRuntime(11081):位于java.lang.ClassLoader.loadClass(ClassLoader.java:312) E / AndroidRuntime(11081):...还有16个 D / ViewRootImpl @ c13a6a1MainActivity:MSG_WINDOW_FOCUS_CHANGED 0 1 D / InputMethodManager(11081):prepareNavigationBarInfo()DecorView @ 5990a33 [MainActivity] D / InputMethodManager(11081):getNavigationBarColor()-352319669 I /进程(11081):正在发送信号。 PID:11081 SIG:9 与设备的连接断开。 退出(sigterm) **