[英]Crashlytics upload failure with firebase-crashlytics-gradle
I recently migrated to using firebase-crashlytics-gradle rather than the deprecated Fabric plugin.我最近迁移到使用 firebase-crashlytics-gradle 而不是弃用的 Fabric 插件。 However, I seem to have a compile-time clash with Apache HttpClient, because when I enabled upload of the mapping file, I get the following error:但是,我似乎与 Apache HttpClient 存在编译时冲突,因为当我启用映射文件的上传时,出现以下错误:
Execution failed for task ':nda:uploadCrashlyticsMappingFileTst'.
> org.apache.http.entity.FileEntity.<init>(Ljava/io/File;)V
It looks like the FileEntity in my compile classpath is missing a single-argument constructor accepting a File instance and reading the source code states it's been there since v4.2.看起来我的编译类路径中的 FileEntity 缺少一个接受 File 实例并读取源代码状态的单参数构造函数,它自 v4.2 以来一直存在。 When I navigate to FileEntity using Android Studio's "go to class" I end up inside org.apache.http.legacy-android-29.当我使用 Android Studio 的“上课”导航到 FileEntity 时,我最终进入了 org.apache.http.legacy-android-29。
What's going on here;这里发生了什么; is Firebase Crashlytics SDK somehow incompatible with targetSDK 29 or what can I do to resolve this issue so that the mapping files are uploaded? Firebase Crashlytics SDK 是否与 targetSDK 29 不兼容,或者我可以做些什么来解决这个问题以便上传映射文件?
So as I thought, the problem was with an old third-part plugin on the classpath.所以我想,问题出在类路径上的一个旧的第三方插件上。 I solved it by enabling obfuscation/minification only for release builds and then made sure the third-part plugin only runs for non-release builds.我通过仅为发布版本启用混淆/缩小来解决它,然后确保第三方插件仅针对非发布版本运行。
Was very hard to figure out, given that the dependency graph is for compile and runtime but not for build time.考虑到依赖图是用于编译和运行时而不是用于构建时,很难弄清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.