首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >由于GRPC和R8,在修复(0.6.6-dev)中出现了内部错误

由于GRPC和R8,在修复(0.6.6-dev)中出现了内部错误
EN

Stack Overflow用户
提问于 2018-09-02 04:02:48
回答 1查看 399关注 0票数 4

在更新了Firebase依赖项之后,我的应用程序就停止工作了。崩溃报告显示了以下日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).
at com.google.firebase.firestore.g.b.a(com.google.firebase:firebase-firestore@@17.0.5:324)
at com.google.firebase.firestore.g.d.run(com.google.firebase:firebase-firestore@@17.0.5)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
 Caused by: java.lang.AbstractMethodError: abstract method "b.d.g.z$d b.d.g.z$d.a(int)"
at b.d.g.u.a(GeneratedMessageLite.java:1319)
at b.d.c.a.y.a(com.google.firebase:firebase-firestore@@17.0.5:8440)
at b.d.c.a.y$a.a(com.google.firebase:firebase-firestore@@17.0.5:6589)
at com.google.firebase.firestore.f.n.b(com.google.firebase:firebase-firestore@@17.0.5:689)
at com.google.firebase.firestore.c.N.a(com.google.firebase:firebase-firestore@@17.0.5:152)
at com.google.firebase.firestore.c.w.b(com.google.firebase:firebase-firestore@@17.0.5:82)
at com.google.firebase.firestore.c.O.a(com.google.firebase:firebase-firestore@@17.0.5:479)
at com.google.firebase.firestore.c.V.run(com.google.firebase:firebase-firestore@@17.0.5)
at com.google.firebase.firestore.c.u.a(com.google.firebase:firebase-firestore@@17.0.5:117)
at com.google.firebase.firestore.c.O.a(com.google.firebase:firebase-firestore@@17.0.5:474)
at com.google.firebase.firestore.b.f.a(com.google.firebase:firebase-firestore@@17.0.5:165)
at com.google.firebase.firestore.b.o.a(com.google.firebase:firebase-firestore@@17.0.5:79)
at com.google.firebase.firestore.b.r.c(com.google.firebase:firebase-firestore@@17.0.5:132)
at com.google.firebase.firestore.b.w.run(com.google.firebase:firebase-firestore@@17.0.5)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at com.google.firebase.firestore.g.b$a.run(com.google.firebase:firebase-firestore@@17.0.5:190)
at java.lang.Thread.run(Thread.java:761)

由于日志对我的源代码没有任何类引用,所以我试图找出依赖项。

最后了解到,问题是因为R8收缩器和GRPC。

以下是解决上述问题的办法:

  1. android.enableR8=false
  2. -keep类io.grpc.** { *;}

在我看来,上述两种解决方案都不是真正有趣的。

我不想应用第一种解决方案,因为禁用R8会使我的APK大小增加200 KB。在我看来,第二个解决方案看上去是个黑客。我不赞成在一个班级引起一些问题时保留整个图书馆。

现在的问题是如何使我的应用程序在启用R8的情况下工作,而不让grpc库避免混淆?

EN

回答 1

Stack Overflow用户

发布于 2018-11-07 13:35:38

我使用R8和gRPC浏览了firestore的R8和gRPC,没有任何问题,即使是com.google.firebase:firebase-firestore:17.0.5版本(这似乎是您从堆栈跟踪中使用的)。我认为您可能遇到了https://github.com/firebase/FirebaseUI-Android/issues/1175,应该在最近的防火墙版本中修复它,例如17.1.2。(根据他们的发布说明,17.0.5包含一个bug,不应该使用)。如果升级不是一个选项,您应该能够手动地将以下内容添加到您的保护规则中,就像在Firestore quickstart示例中所做的那样

-dontwarn okio.**

(我无法重现您所描述的错误,但这似乎是快速启动示例中唯一适用于gRPC依赖项的保护规则)

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

https://stackoverflow.com/questions/52136819

复制
相关文章
如何修复WordPress发生的max_execution_time致命错误
WordPress网站产生的max_execution_time致命错误在您的WordPress管理仪表盘中如下所示:
Yangsh888
2022/04/05
5.2K0
这9种URL错误对SEO优化有致命影响
时光太瘦,指缝太宽。不经意间的一瞥,已隔经年。如果你不努力,一年后的你仍然是现在的你。要知道,你不是别人羡慕的“富二代”。你想要是生活,别人无法给你,只有靠自己拼搏,靠自己努力,靠自己奋斗,汗水永远比泪水更能打动成功,汗水的浇灌注定绽会放出绚丽的花朵! 今天给大家讲解下有关页面URL的问题,URL在SEO中,可以说是比标题还要重要,可以说是禁忌中的禁忌,各位同学一定要多加留意。现在我给各位同学讲解下,在日常中我们都会遇到哪些URL问题。 1 URL上使用#号好不好? URL当中的#号是一个锚点的标志位
黄伟SEO
2018/05/17
4.1K0
iOS中防止数组越界之后发生崩溃
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/56011127
用户1451823
2018/09/13
2K0
特斯拉与NTSB在致命的Model X撞车事故调查中发生冲突
AiTechYun 编辑:nanan 特斯拉已被NTSB(美国国家运输安全委员会)从海湾地区的Model X撞车事故调查中踢出。 在特斯拉继续发布有关事故调查的信息后,NTSB将这家电动汽车制造商从调
AiTechYun
2018/04/17
5930
特斯拉与NTSB在致命的Model X撞车事故调查中发生冲突
Qt程序继承QApplication发生崩溃的原因
QApplication是Qt开发中经常用到的一个类,用来管理应用程序的生命周期。跟其相关的类还有QCoreApplication和QGuiApplication,分别用于不同场景下为应用程序的控制流和事件处理提供基础的框架。这三个类的构造函数都接收两个参数(分别是argc和argv),和C/C++程序的main函数的参数差不多。因此,大部分情况下我们是直接将main函数的这两个参数传给QApplication(这里以GUI程序为例):
24K纯开源
2019/07/02
2.4K0
禁用WordPress致命错误(WSOD)处理
WordPress 5.2内置了一个新功能,当检测到插件或主题发生错误时,自动发送邮件通知网站管理员,即使在后端完全无法访问的情况下(例如发生所谓的“白屏死机”),管理员仍然有机会登录并对此问题采取措施。
可定
2020/04/20
6020
Java中String转换为JSONArray发生错误[通俗易懂]
第一种解析的字符串结构 keywords:[{keyword=关键字,matchType=1},{keyword=关键字,matchType=1}]
全栈程序员站长
2022/08/31
5.8K0
CAD 2020 安装时出现“安装错误1603:安装过程中的致命错误”
错误1603是Microsoft Windows Installer(MSI)生成的一般错误。此错误倾向于与系统相关,而不是与特定软件相关联。以下是1603错误的常见示例:
知识兔下载
2023/01/31
9.3K0
在vscode中go编码发生的问题整理
使用VsCode进行Go程序开发,我们肯定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程中碰到的问题做一个简单的回顾和整理。
happlyfox
2021/03/19
1.6K0
在vscode中go编码发生的问题整理
使用VsCode进行Go程序开发,我们肯定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程中碰到的问题做一个简单的回顾和整理。
happlyfox
2021/03/17
2.4K0
让Chrome崩溃的代码
这是实际项目中,遇到了chrome崩溃掉之后,分析代码抽离出来的那部分“有问题”的代码:
meteoric
2018/11/16
6900
tp5.0 致命错误: Class ‘\think\cache\driver\Test‘ not found
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 ---- tp5.0的config文件中. 把type类型改为File.就行了 'cache' => [ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' => CACHE_PATH, // 缓存前缀 'prefix' => '
贵哥的编程之路
2022/09/23
5390
go新手容易犯的三个致命错误
最近因为以前一些重要且古老的go项目基本没有人专职维护了,所以被安排去熟悉这些项目的代码,所以看了大量go的代码。历史原因,这些代码中或多或少有一些刚刚从PHPer转过来的Gopher去设计和开发的,自然有不少是在php(fpm模式下)码代码思路下埋藏的一些坑。今天我就来和大家一起分享一下最近发现的出现比率比较高的三个致命错误。
用户1093396
2020/10/29
5710
go新手容易犯的三个致命错误
安卓程序崩溃错误捕捉
在开发安卓程序时,本地测试没任何问题,但去到客户处不是这里麻烦就是哪里不行。最后还来个程序崩溃。。最令人头疼的就是崩溃,因为程序的崩溃总是悄然无息的,有时候根本都没办法进行复现处理,,经过一段的摸索后,总算发现安卓有个程序崩溃前的接口(CrashHandler)在崩溃前会执行,这样就能很好的捕获到错误了。
谭广健
2019/11/13
1.3K0
学习Java时应避免的10个致命错误
要编码还是不编码?看来您已经选择了第一个选项。编程是专业发展的绝佳领域,它使您有机会参与有趣的项目并在任何需要的地方工作。
可大可小
2020/04/07
5450
程序发生崩溃dump文件_failed to create dump file
解决办法:VirtualProtect函数使用VirtualProtectEx代替即可!
全栈程序员站长
2022/10/01
1.4K0
发生致命事故8个月后,优步被获准在匹兹堡恢复自动驾驶测试
八个月前,优步的一辆自动驾驶汽车在亚利桑那州坦佩市出了致命事故,现在,宾夕法尼亚州交通部已经重新给优步开了绿灯,让其部署匹兹堡的车队。
AiTechYun
2018/12/29
3990
发生致命事故8个月后,优步被获准在匹兹堡恢复自动驾驶测试
利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误
发布于 2018-03-20 11:54 更新于 2018-03-20 12:35
walterlv
2018/09/18
1.5K0
利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误
独家 | 7个新手数据讲述者犯下的致命错误
在制作数据故事时,很容易迷失在细节中,并且无法创造出可以激发别人动手操作的数据故事。下面是新手数据讲师所犯的最常见的错误,以及如何改正它们。这些技巧来自“像数据讲述者一样思考”研究会。
数据派THU
2018/12/26
5120
点击加载更多

相似问题

在发生致命错误后继续执行代码

13

在代码中添加容器视图时发生致命错误

10

单击textInput响应本机致命崩溃

10

在Ubuntu中构建llvm源代码时发生致命错误

212

+ Robospice本机在Android 6上崩溃-致命信号11 (SIGSEGV),代码1

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文