为了账号安全,请及时绑定邮箱和手机立即绑定

Android:Firebase 实时数据库聊天中已签名的 apk 的消息密钥已更改

Android:Firebase 实时数据库聊天中已签名的 apk 的消息密钥已更改

凤凰求蛊 2023-01-05 17:17:41

我在 android 中开发了一个带有 firebase 实时数据库的聊天应用程序,它将所有消息存储在 firebase 实时数据库中,并且它在调试模式下工作得很好但是当我创建一个签名构建时它会自动更改我的所有消息键入 a、b、c、d 等。

例如,我存储了一条带有键“name”、“message”、“image”等的消息,消息在调试模式下使用这些键存储得很好,但在发布模式下所有这些键都变成了 a、b、c 等.

如果有人可以帮助我,我将不胜感激。


查看完整描述

1 回答

?
炎炎设计

TA贡献1559条经验 获得超3个赞

Proguard 混淆了您在应用程序中编写的代码。它会更改代码中的类名、变量名、函数名,以避免反编译您的应用程序。因此,无论何时您在 Firebase 中编写您的模型类,您所指的那些,您都可以使用混淆器从混淆中省略这些类。

为此,请按照下面提到的几个步骤操作。

  1. 转到app/proguard-rules.pro目录并打开proguard-rules.pro文件。

  2. 将以下几行添加到该文件

-保持类 com.yourpackage.model.DataModel{ public private *;}

上面一行将防止类 DataModel 被 Proguard 混淆。你必须在那个领域给出你班级的正确路径。

另外,不要忘记在模型类中注释变量,如下所示:

@SerializedName("yourKeyName")
 private int yourKey;

那些“yourKeyName”将用于序列化和反序列化对象。


查看完整回答
反对 回复 2023-01-05

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信