使用 Firebase 配置 Proguard 规则
Posted
技术标签:
【中文标题】使用 Firebase 配置 Proguard 规则【英文标题】:Configure Proguard-rules with Firebase 【发布时间】:2018-10-21 20:37:25 【问题描述】:我有这个项目,我使用 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'
我做错了什么?
【问题讨论】:
【参考方案1】:对于将由 firebase 序列化/反序列化的类,您应该 -keep
,否则将无法对这些类使用反射。 -keepclassmembers
只会保留成员并混淆类的名称,如果您的库使用反射,这是您绝对不想做的事情。尝试将这些类的 -keepclassmembers
替换为 -keep
。
-keep class persistence.**
*;
【讨论】:
好的!现在看来可以了……但是验证电话的代码(通过 Firebase auth)没有到达 未到是什么意思? 当您使用 Firebase 进行身份验证时,应该会收到验证码 这可能与proguard根本没有关系,你检查你是否没有收到错误?此外,如果您最近进行了身份验证,您将不会收到新代码【参考方案2】:-keep class persistence.**
*;
这里的**
表示每个文件都包含在以下包中。
【讨论】:
这个答案似乎没有添加其他answer未涵盖的任何信息。以上是关于使用 Firebase 配置 Proguard 规则的主要内容,如果未能解决你的问题,请参考以下文章