Android: ключи сообщений меняются для подписанного apk в чате базы данных Firebase в реальном времени - PullRequest
0 голосов
/ 06 июня 2019

Я разработал приложение чата с базой данных Firebase в реальном времени на Android, оно хранит все сообщения в базе данных Firebase в реальном времени, и оно прекрасно работает в режиме отладки, однако, когда я создаю подписанную сборку автоматически заменяет все мои сообщения ключом на a, b, c, d и т. д.

Например, я сохранил сообщение с ключами «имя», «сообщение», «изображение» и т. Д. Сообщение отлично хранится с этими ключами в режиме отладки, однако в режиме выпуска все эти ключи заменяются на a, b и т. д.

Буду очень признателен, если кто-нибудь сможет мне помочь с этим.

1 Ответ

0 голосов
/ 06 июня 2019

Proguard запутывает код, который вы написали в своем приложении. Он изменяет имена классов, имена переменных, имена функций в вашем коде, чтобы избежать декомпиляции вашего приложения. Поэтому, когда бы вы ни писали свои классы моделей в Firebase, на которые вы ссылаетесь, вы можете исключить эти классы из обфускации с помощью proguard.

Чтобы сделать это, выполните несколько шагов, упомянутых ниже.

  1. Перейдите в каталог app/proguard-rules.pro и откройте файл proguard-rules.pro.

  2. Добавьте следующие несколько строк в этот файл

-класс класса com.yourpackage.model.DataModel {public private *;}

Над строкой будет предотвращать запутывание класса DataModel Proguard. Вы должны указать правильный путь вашего класса в этой области.

Кроме того, не забудьте аннотировать переменные в ваших классах Model, как показано ниже:

@SerializedName("yourKeyName") 
private int yourKey;

Эти "yourKeyName" будут использоваться для сериализации и десериализации объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...