首页 > 解决方案 > 如何避免混淆 Firebase 模型字段?

问题描述

我正在尝试混淆我的 android 应用程序,但是当我生成 apk 作为版本并在设备上运行时,我的 firebase 字段名称会被更改。还有一些字段数据没有上传到firebase实时数据库,例如System.currentTimeMillisecond()、passwd。

我的应用程序在没有混淆的情况下工作正常并正确插入所有数据。混淆后它的行为不正确并且没有将一些数据正确地插入到firebase中。

预期节点:

-userid
 -name:"abc"
 -age:15
 -passwd:"pass@123"
 -timestamp:16003243241

混淆后:

-userid
 -a:"abc"
 -b:15

我的用户模型类

public class UserModel{
    
    public int age;
    public String name,passwd;
    public long timestamp;

    public UserModel(){}
    public UserModel(String name, String passwd, int age, long timestamp){
        this.name=name;
        this.passwd=passwd;
        this.age=age;
        this.timestamp=timestamp;
    }
}

我已申请 build.gradle: app

buildTypes {
        release {
            minifyEnabled true
            shrinkResources=true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

前卫:

-keep class yourpackage.** { *; }
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

我有 min sdk 23 和 target 28。请帮我正确地混淆数据。

标签: javaandroidfirebasefirebase-realtime-databaseobfuscation

解决方案


推荐阅读