使用 Firebase 配置 Proguard 规则
Configure Proguard-rules with Firebase
我有这个项目并且我使用 Firebase 实时数据库。
写这个proguard规则是对的吗?
-keepattributes Signature
-keepclassmembers class activity.** {
*;
}
-keepclassmembers class adapter.** {
*;
}
-keepclassmembers class fragment.** {
*;
}
-keepclassmembers class persistence.** {
*;
}
-keepclassmembers class services.** {
*;
}
该应用程序运行良好,但当我在 PlayStore 上发布时,查询似乎不起作用。在我的 gradle 我添加了
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
我做错了什么?
您应该 -keep
用于将被 firebase serialized/deserialized 的 class es,否则它将无法在那些 classes 上使用反射。 -keepclassmembers
只会保留成员并混淆 class 的名称,如果您的库使用反射,这是您绝对不想做的事情。尝试用 -keep
替换 -keepclassmembers
那些 classes.
-keep class persistence.** {
*;
}
-keep class persistence.** {
*;
}
这里的**
表示每个文件都包含在下面的包中
我有这个项目并且我使用 Firebase 实时数据库。
写这个proguard规则是对的吗?
-keepattributes Signature
-keepclassmembers class activity.** {
*;
}
-keepclassmembers class adapter.** {
*;
}
-keepclassmembers class fragment.** {
*;
}
-keepclassmembers class persistence.** {
*;
}
-keepclassmembers class services.** {
*;
}
该应用程序运行良好,但当我在 PlayStore 上发布时,查询似乎不起作用。在我的 gradle 我添加了
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
我做错了什么?
您应该 -keep
用于将被 firebase serialized/deserialized 的 class es,否则它将无法在那些 classes 上使用反射。 -keepclassmembers
只会保留成员并混淆 class 的名称,如果您的库使用反射,这是您绝对不想做的事情。尝试用 -keep
替换 -keepclassmembers
那些 classes.
-keep class persistence.** {
*;
}
-keep class persistence.** {
*;
}
这里的**
表示每个文件都包含在下面的包中