首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firebase AndroidChat发布版本错误

Firebase AndroidChat发布版本错误
EN

Stack Overflow用户
提问于 2015-02-13 18:39:18
回答 3查看 642关注 0票数 1

我使用Firebase androidchat作为模板,为我们的应用实现了一个新的聊天功能。在我尝试发布之前,一切都运行得很好,没有任何错误。

代码语言:javascript
运行
复制
*com.firebase.client.FirebaseException: Failed to bounce to type*

在stackoverflow中也有一个类似的问题,但似乎这个家伙通过纠正他的类中的拼写错误来解决了这个问题。我没有这些,就像我说的,dev build没有错误。

下面是我的类:

代码语言:javascript
运行
复制
public class Chat {

private String message;
private String author;
private String profilePic;
private Long creationDate;
private Boolean god;

// Required default constructor for Firebase object mapping
@SuppressWarnings("unused")
private Chat() {

}

public Chat(String message, String author, String profilePic, Long creationDate, Boolean god) {
    this.message = message;
    this.author = author;
    this.profilePic = profilePic;
    this.creationDate = creationDate;
    this.god = god;
}

public String getMessage() {
    return message;
}

public String getAuthor() {
    return author;
}

public String getProfilePic() {
    return profilePic;
}

public Long getCreationDate() {
    return creationDate;
}

public Boolean getGod() {
    return god;
}
}

下面是它在Firebase控制台http://quickscreen.me/tpBP.png中的外观

如果有帮助,这里是完整的错误:http://paste.plurk.com/show/2102887/

如果我删除"creationDate“,它将只显示”无法识别的字段消息“,这也是类属性之一。

有没有人尝试过Firebase Android聊天的发布版本?

EN

回答 3

Stack Overflow用户

发布于 2015-06-08 19:29:44

确保你没有用Proguard混淆你的聊天类。我认为Proguard是罪魁祸首,因为它通常只在发布模式下运行:

代码语言:javascript
运行
复制
 release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'
        }

在proguard-project.txt文件中:

代码语言:javascript
运行
复制
# Basic ProGuard rules for Firebase Android SDK 2.0.0+
-keep class com.firebase.** { *; }
-keep class org.apache.** { *; }
-keepnames class com.fasterxml.jackson.** { *; }
-keepnames class javax.servlet.** { *; }
-keepnames class org.ietf.jgss.** { *; }
-dontwarn org.apache.**
-dontwarn org.w3c.dom.**
# avoid on Chat.class
-keep class yourClassPackage.Chat { *; }
票数 1
EN

Stack Overflow用户

发布于 2015-09-25 22:02:23

试着清理你的数据库或特定的节点,如果名字没问题的话,这应该可以。

票数 0
EN

Stack Overflow用户

发布于 2015-02-16 14:35:08

我花了几天的时间才最终确定了gradle构建文件中的罪魁祸首-- minifyEnabled。

代码语言:javascript
运行
复制
buildTypes {
    release {
        minifyEnabled false
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

关闭它,问题就会消失。但是后来apk增长了2倍。我不确定还有什么选择。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28497673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档