【发布时间】:2020-10-04 20:55:21
【问题描述】:
我最近迁移到使用 firebase-crashlytics-gradle 而不是已弃用的 Fabric 插件。但是,我似乎与 Apache HttpClient 存在编译时冲突,因为当我启用映射文件的上传时,我收到以下错误:
Execution failed for task ':nda:uploadCrashlyticsMappingFileTst'.
> org.apache.http.entity.FileEntity.<init>(Ljava/io/File;)V
看起来我的编译类路径中的 FileEntity 缺少一个接受 File 实例并读取源代码状态的单参数构造函数,它自 v4.2 以来就一直存在。当我使用 Android Studio 的“上课”导航到 FileEntity 时,我最终进入了 org.apache.http.legacy-android-29。
这里发生了什么; Firebase Crashlytics SDK 是否与 targetSDK 29 不兼容,或者我可以做些什么来解决这个问题以便上传映射文件?
【问题讨论】:
-
那么产生混乱的代码呢?你的推理显然是错误的,因为
FileEntity有那个构造函数。查看此project(我的)的Android 部分,它已正确配置。如果您无法构建它,则可以尝试使 IDE 缓存无效;同时删除所有 Gradle 缓存。 -
是的,它有那个构造函数......但是从 v4.2 开始!鉴于我报告的签名错误,我还能得出什么其他结论?
-
清除最有可能损坏的 IDE / Gradle 缓存...因为此错误消息毫无意义。如果最终可能有任何冲突,这将需要一个相当过时的 Gradle 插件。如果您要构建我链接的项目,您至少可以确定构建环境是健全的。由于您根本没有提供任何代码,因此这个问题更不可能不回答。
标签: android firebase crashlytics firebase-crash-reporting