gpt4 book ai didi

android - Firebase android 无法在测试设备之外工作

转载 作者:行者123 更新时间:2023-12-04 17:23:03 28 4
gpt4 key购买 nike

我有这个新应用并添加了 Firebase Firestore 和 Cloud Firestore。用户可以使用邮箱注册并通过,登录成功。然后用户可以在我的个人资料中输入生日并更新信息。

问题是这样的,它在 Emulator 中工作正常。它在测试设备中工作正常。但是当我发布该应用程序并使用另一部 Android 手机下载它时,它停止工作。我有两种不同情况下的数据库图片。

第一个:

1

我使用真实设备并从商店下载应用程序来注册用户:我的user1

第二个:

2

是从模拟器设备相同版本注册的。我的 user2

从下载的应用程序注册时出现问题:

a "aJ3vfJUiNFQXbQ394SHbGUlV7eu2"
b "My name"
c "5@6.com"
d ""
e ""

从模拟器中纠正一个:

birthday ""
email "7@8.com"
id "ldYDz3GAo6YOUNiIGZyMg3lwVXH3"
image ""
userName "My name 2"

最佳答案

当您为 Android 制作发布版本时,通常会使用混淆器来混淆您的代码 - 这意味着将您的所有类重命名为 A、B、C 之类的名称,并将所有变量重命名为 a、b、c、d、e 之类的名称。看起来这就是这里可能发生的事情。您正在上传这样的数据对象:

data class PersonInfo(
var birthday: String = "",
var email: String = "",
var id: String = "",
var image: String = "",
var userName: String = ""
)

proguard 将其混淆为如下内容:

data class A(
var a: String = "",
var b: String = "",
var c: String = "",
var d: String = "",
var e: String = ""
)

要告诉 proguard 不要混淆特定类,您可以在 proguard-rules.pro(应该位于您的 /app/ 文件夹中)添加一条规则,例如这个:

-keep class your.package.name.ClassName

这应该保留原始类并解决您的问题(假设问题来 self 怀疑的混淆器)

关于android - Firebase android 无法在测试设备之外工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65013591/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com