Android aar包集成与报错

       Android Studio引用AAR的方式,分为gradle7.0之前与7.0之后

一、集成步骤

     方法一:

    1.将对应的xxx.aar包复制到项目的libs目录下(xxx代表需要引入的aar包名称)

      

2.然后在模块的build.gradle文件中配置implementation files('libs/library.aar')

dependencies {implementation files('libs/library.aar')
}

     方法二:

     1.  单独新建文件夹 LocalRepo,在其内部新建staticip,新建build.gradle

2. build.gradle内容由于我引入的是yzwlnfcreadcard.aar,记得换成自己的aar包名称

configurations.maybeCreate("default")
artifacts.add("default", file("yzwlnfcreadcard.aar"))

3.引入的是yzwlnfcreadcard.aar,所以也需要把包复制进来

二、gradle7.0之前

  1.将 aar 包放入 library module 的 libs 目录下,然后在工程的 build.gradle文件中加入如下代码:

flatDir { dirs 'libs', '../moduleName/libs' }

注:将 moduleName 替换为你自己的 library module 的 name.

2.在 module 的 build.gradle 文件中添加依赖:

dependencies {implementation(name: 'aar包名', ext: 'aar')}

三、常见报错

集成完成,代码引用也没问题,但是一运行就报如下错误:

Execution failed for task ':app:mergeDebugJavaResource'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction> 2 files found with path 'org/bouncycastle/x509/CertPathReviewerMessages_de.properties' from inputs:- E:\project\ZhongNanXiaoyaDev\LocalRepo\staticip\build\.transforms\bdb601d81fa95af2bf0d3b2b3de9e234\transformed\jetified-yzwlnfcreadcard\jars\classes.jar- C:\Users\Administrator\.gradle\caches\transforms-3\5c9ef0b491c1ad4933dd3ce258a1758f\transformed\jetified-bcprov-jdk15on-1.59.jarAdding a packagingOptions block may help, please refer tohttps://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/dsl/ResourcesPackagingOptionsfor more information* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

  那是因为包冲突导致,按照第四步解决方案进行解决

四、解决方案

  在app目录下的build.gradle添加配置:

android {packagingOptions {pickFirst 'org/bouncycastle/x509/CertPathReviewerMessages_de.properties'pickFirst 'org/bouncycastle/x509/CertPathReviewerMessages.properties'}
}

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

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

相关文章

【Kafka】Kafka介绍、架构和概念

目录 Kafka介绍Kafka优势Kafka应用场景Kafka基本架构和概念ProducerConsumer/Consumer GroupBrokerZooKeeperTopicPartitionReplicasOffsetsegment Kafka介绍 Kafka是是一个优秀的分布式消息中间件,关于常用的消息中间件对比可参考文章:消息中间件概述。…

C语言第二弹---C语言基本概念(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 C语言基本概念 1、字符串和\02、转义字符3、语句和语句分类3.1、空语句3.2、表达式语句3.3、函数调⽤语句3.4、复合语句3.5、控制语句 4、注释4.1、注释的两种形…

【音视频】基于NGINX如何播放rtmp视频流

背景 现阶段直播越来越流行,直播技术发展也越来越快。Webrtc、rtmp、rtsp是比较火热的技术,而且应用也比较广泛。本文通过实践来展开介绍关于rtmp如何播放。 概要 本文重点介绍基于NGINX如何播放rtmp视频流 正文 1、构造rtsp视频流 可以参考上一篇…

让CHAT对springSecurity原理进行简述

CHAT回复:Spring Security是Spring框架中用于实现认证和授权功能的安全框架。其主要原理基于Filter机制,可以实现基于角色或者资源URL的访问控制。 具体来说,Spring Security通过一系列的Filter对Web请求进行拦截,然后根据用户提供…

深入了解性能优化(web应用)

影响一个系统性能的方方面面 一个 web应用不是一个孤立的个体,它是一个系统的部分,系统中的每一部分都会影响整个系统的性能 一.常用的性能评价/测试指标 1.响应时间 提交请求和返回该请求的响应之间使用的时间,一般比较关注平均响应时间。 常用操作的响应时间列表: 操作 响应…

【计算机组成与体系结构Ⅱ】Tomasulo 算法模拟和分析(实验)

实验5:Tomasulo 算法模拟和分析 一、实验目的 1:加深对指令级并行性及开发的理解。 2:加深对 Tomasulo 算法的理解。 3:掌握 Tomasulo 算法在指令流出、执行、写结果各阶段对浮点操作指令以及 load 和 store 指令进行了什么处…

MySQL Update语句一个非常经典的“坑”

在一条UPDATE语句中,如果要更新多个字段,字段间不能使用“AND”,而应该用逗号分隔。 现象 刚遇到这个问题的时候,我拿到这条语句直接在测试库里面执行了一把,发现确实有问题,但和开发描述的还是有区别&am…

基于YOLOv8深度学习的葡萄簇目标检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

【遥感专题系列】影像信息提取之——面向对象的影像分类技术

“同物异谱,同谱异物”会对影像分类产生的影响,加上高分辨率影像的光谱信息不是很丰富,还有经常伴有光谱相互影响的现象,这对基于像素的分类方法提出了一种挑战,面向对象的影像分类技术可以一定程度减少上述影响。 本…

【Docker】contos7安装 Nacos容器部署单个部署集群

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个&…

旅游项目day03

1. 前端整合后端发短信接口 2. 注册功能 后端提供注册接口,接受前端传入的参数,创建新的用户对象,保存到数据库。 接口设计: 实现步骤: 手机号码唯一性校验(后端一定要再次校验手机号唯一性&#xff09…

vue2 如何配置路由详解。

首先我们要安装一下vue-router,命令为 yarn add vue-router3.5.3 或者使用 npm 命令。 有人在配置路由的时候可能会报以下错误:如何解决呢,就是版本号太高了(4版本),用以上的命令就可以(yarn a…