RN开发搬砖经验之—处理“Duplicate class com.github.barteksc.pdfviewer“

在这里插入图片描述

问题信息

Duplicate class com.github.barteksc.pdfviewer.PDFView found in modules jetified-AndroidPdfViewer-3.1.0-beta.3-runtime (com.github.TalbotGooday:AndroidPdfViewer:3.1.0-beta.3) and jetified-android-pdf-viewer-2.8.2-runtime (com.github.barteksc:android-pdf-viewer:2.8.2)

哇哦,搞Android开发经常遇到的问题,这类问题不大,先分析好相关的依赖,然后排除冲突
在这里插入图片描述

问题定位

从出错信息上,分别看是那里引入如下两个库
1、com.github.TalbotGooday:AndroidPdfViewer
在这里插入图片描述

2、com.github.barteksc:android-pdf-viewer
在这里插入图片描述
从上面可以看出我们是一个RN第三方库,依赖一个库,跟某个我们自己的原生模块直接依赖的com.github.barteksc:android-pdf-viewer存在类的冲类!
我们先看下TalbotGooday是怎么样的存在
在这里插入图片描述
再看下com.github.barteksc

在这里插入图片描述
很明显com.github.TalbotGooday:AndroidPdfViewer大概率是从com.github.barteksc fork的代码,然后改了groupid与artifact-Id发了个maven库!!!
我们去看下他的源码库,一切正相浮出水面了,如下!

在这里插入图片描述
我这边的解决方案是,自己APP工程的原生模块先依赖回react-native-pdf引用的TalbotGooday

有趣地方

其实react-native-pdf库开发者,有提到过!在他引用TalbotGooday时
在这里插入图片描述
然后我们还可以看到相关的代码提交记录 https://github.com/wonday/react-native-pdf/commit/166090dd5960abc27ad2c485b657ee05a374d470
在这里插入图片描述

相关知识

一个RN库,一般是JS代码+Android(java/kotlin) 与IOS(OC) 的代码的集合

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为车主提供多路况安全保障!“北欧轮胎安全专家”熊牌轮胎迎来全新升级

德国马牌轮胎旗下明星品牌——Gislaved熊牌轮胎迎来全新升级。 自进入中国市场以来,熊牌轮胎凭借着坚韧安全、静音降噪等特点,收获无数好评。此次全新升级的熊牌轮胎,在品牌logo中加入了“北欧棕熊”的形象,并且对此前轮胎标签中的…

qt使用Windows经典风格,以使QTreeView或QTreeWidge有节点线或加号

没有使用Windows经典风格的QTreeView或QTreeWidget显示如下: 使用Windows经典风格的QTreeView或QTreeWidget显示如下: 树展开时: 树未展开时: 可以看到: 未使用Windows经典风格时,QTreeView或QTreeWidget…

【MySQL】基本查询(1)

【MySQL】基本查询(1) 目录 【MySQL】基本查询(1)表的增删改查Create单行数据 全列插入多行数据 指定列插入插入否则更新替换 RetrieveSELECT 列全列查询指定列查询查询字段为表达式为查询结果指定别名结果去重 WHERE 条件英语不…

第六篇:视频广告格式上传指南(上) - IAB视频广告标准《数字视频和有线电视广告格式指南》

第六篇: 视频广告格式和上传指南(上) --- 我为什么要翻译介绍美国人工智能科技公司IAB系列技术标准(2) 流媒体数字视频的广告格式分为线性和非线性两大类。任何一个广告都可以与显示在视频播放器外部的伴随横幅一起提…

【Linux文件系列】重定向

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

CMake学习(下)

1. 嵌套的CMake 如果项目很大,或者项目中有很多的源码目录,在通过CMake管理项目的时候如果只使用一个CMakeLists.txt,那么这个文件相对会比较复杂,有一种化繁为简的方式就是给每个源码目录都添加一个CMakeLists.txt文件&#xff…

windows系统下python进程管理系统

两年来,我们项目的爬虫代码大部分都是放在公司的windows机器上运行的,原因是服务器太贵,没有那么多资源,而windows主机却有很多用不上。为了合理利用公司资源,降低数据采集成本,我在所以任务机器上使用anac…

将本地的项目上传到gitee,

场景:在本地有一个项目,想要把这个项目上传到gitee,且在gitee中已经创建好仓库 依次执行下图中的命令:

【linux】进程地址空间(进程三)

目录 快速了解:引入最基本的理解:细节:如何理解地址空间:a.什么是划分区域:b.地址空间的理解: 为什么要有进程空间?进一步理解页表与写时拷贝: 快速了解: 先来看这样一段…

web学习笔记(四十二)

目录 1.ECMAScript 新特性-async 和await 1.1async函数 1.2await函数 1.3补充: 2. ES6模块化 2.1模块化的优点 2.2 ES6 模块化语法 2.3 ES6 模块暴露 2.4ES6 模块导入 1.ECMAScript 新特性-async 和await 1.1async函数 async函数可以单数使用,…

2024年起重机司机(限桥式起重机)证考试题库及起重机司机(限桥式起重机)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年起重机司机(限桥式起重机)证考试题库及起重机司机(限桥式起重机)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作…

第四范式2023全年业绩:营收人民币42.0亿元同比增长36.4%,行业大模型为千行万业赋能...

3月20日,第四范式(06682.HK)公布2023年全年业绩,营收稳步增长,盈利节奏清晰。 第四范式定位人工智能时代的软件企业,致力于用人工智能技术赋能千行万业,帮助各行业发现更多规律,形成…

Handler 导致的内存泄露的原因及解决方案?

Handler 导致内存泄露的原因: Handler 导致的内存泄露通常是因为 Handler 持有 Activity 或其他 Context 的引用,而这个 Handler 又被其他长生命周期的对象(如静态变量、线程等)持有。当 Activity 被销毁时,由于 Handler 仍然持有其引用,导致 Activity 无法被垃圾回收器…

【排序】插入排序与选择排序详解

文章目录 📝选择排序是什么?🌠选择排序思路🌉 直接选择排序🌠选择排序优化🌠优化方法🌉排序优化后问题 🌠选择排序效率特性 🌉插入排序🌠插入排序实现 &#…

day11【网络编程】-综合案例

day11【网络编程】 第三章 综合案例 3.1 文件上传案例 文件上传分析图解 【客户端】输入流,从硬盘读取文件数据到程序中。【客户端】输出流,写出文件数据到服务端。【服务端】输入流,读取文件数据到服务端程序。【服务端】输出流&#xf…

29-3 哥斯拉安装使用

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、哥斯拉 (Godzilla) 介绍 哥斯拉是一个基于流量、HTTP全加密的webshell管理工具,具有以下特点: 内置了3种Payload以及6种加密器,6种支持脚本后缀,20个内置插件基于Java,可…

Java二叉搜索树知识点(含面试大厂题和源码)

二叉搜索树(Binary Search Tree,简称BST)是一种特殊的二叉树,它支持许多动态集合操作,如查找、插入、删除、最大值、最小值等。在二叉搜索树中,每个节点包含一个键(以及可能伴随的附加信息&…

Java最后一块石头的重量 II(力扣Leetcod1049)

最后一块石头的重量 II 力扣原题 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结…

数据分析面试题(11~20)

11、对数据分析的看法&#xff0c;你怎么理解数据分析师这个职业&#xff1f; ①职责是收集、处理和分析大量的数据&#xff0c;并从中提取出有用的信息。 ②工作范围包括数据清洗、数据建模、数据可视化等。 数据收集和清洗&#xff1a;收集各种来源的数据&#xff0c;并清洗…

Orbit 使用指南06 | 创建基础环境 | Isaac Sim | Omniverse

如是我闻&#xff1a; 环境将模拟的不同方面如场景、观测和行动空间、重置事件等汇集在一起&#xff0c;为各种应用创建一个连贯的接口。在Orbit中&#xff0c;环境是作为envs.BaseEnv和envs.RLTaskEnv类实现的。这两个类非常相似&#xff0c;但envs.RLTaskEnv对强化学习任务很…