当前位置: 首页 > news >正文

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.jar
     Adding a packagingOptions block may help, please refer to
     https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/dsl/ResourcesPackagingOptions
     for 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'
    }
}

相关文章:

  • [python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹
  • 写点东西《什么是网络抓取?》
  • 音乐人声分离工具:极简的人声和背景音乐分离工具
  • OB OCP工具
  • Linux消息队列
  • C盘满了,我用什么思路清理?
  • git add -u 什么意思
  • AEB滤镜再破碎,安全焦虑「解不开」?
  • Redis 持久化
  • 20个超实用的JavaScript高级技巧
  • 前端_we码
  • Java 8 简化代码(1)
  • Python-基础篇-类与对象/面向对象程序设计
  • 技术硬实力,阿里巴巴为什么要开源Spring Cloud Alibaba?
  • spring boot学习第八篇:kafka
  • 架设一台NFS服务器,并按照以下要求配置
  • openlayers [六] 地图交互 interaction 详解
  • 开源云真机平台-Sonic平台-python自定义脚本-config.json方式实现全局配置参数的读写操作
  • Redis的key过期策略是怎么实现的
  • 广和通AI解决方案“智”赋室外机器人迈向新天地!
  • 国新办将就2025年4月份国民经济运行情况举行新闻发布会
  • 学习教育期间违规吃喝,李献林、叶金广等人被通报
  • 检疫期缩减至30天!香港优化内地进口猫狗检疫安排
  • 一手实测深夜发布的世界首个设计Agent - Lovart。
  • 脑血管支架:救命神器还是定时炸弹?听听医生的大实话
  • 迪奥部分客户数据遭泄露,公司称正持续展开调查