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

Android aar打包集成问题处理合集

一 概要

aar打包提供给使用方时,可能出现各种问题。譬如:接受方集成后发现编译报错。一般情况下主要有:
1.构建、kotlin语言、插件版本不一致;
2.相应的依赖版本不一致;
3. so库的ndk不一致或者不全;(搞清楚接收方的ndk abiFilters的范围)

解决思路也是:接受方使用一致的版本(或者引用公共gradle文件依赖,或者手动改为一致),或者exclude掉冲突组件,而这需要仔细看build的警告、错误日志以及有去排除可能错误的手段。

二 案例

1.More than one file was found with OS independent path ‘META-INF/okio.kotlin_module’

这个错误发生在升级了本地组件依赖(okhttp相关)-进行打包aar时。很明显是由于本地依赖升级发生导致。

1.本地组件依赖既然是需要升级,那么回退到正常运行的版本就没有意义,只能从其他方面着手。
2.其他手段
  • 清除缓存clean/rebuild/clear validate cache***——无效

  • 找到该重复文件,并进行删除——无效
    这里说一下定位手段:
    a.double shift按键搜索该文件,点击打开
    b.ctrl+鼠标左键点击文件标签即可看到该文件的树级目录(mac 是command+鼠标左键点击)。或者切换Project工程目录,点击定位即可展开目录树。
    c.可以从父级文件目录删除开始
    删除无效的原因在于,这是build时产生的,删除后仍旧会重生。

  • 更改gradle版本——有效

  • build.gradle(project)中 提升class path 'com.android.tools.build:gradle:3.2.1'的版本,譬如提升到3.6.0之类。

  • gradle-wrapper-.properties 提升distributionUrl 的gradle版本。

相关文章:

  • 2023年12 月电子学会Python等级考试试卷(四级)答案解析
  • 【CSS】文字描边的三种实现方式
  • 微信小程序封装vant 下拉框select 单选组件
  • 在IDEA中使用git分支进行开发然后合并到Master分支,2022.1.x版本
  • 【IPC通信--socket套接字--心跳包】
  • webpack配置入门
  • vue2 element 弹出框拖拽会出现一层阴影问题
  • MidTool图文创作-GPT-4与DALL·E 3的结合
  • 互联网分布式应用之SpringCloud
  • JavaWeb——新闻管理系统(Jsp+Servlet)之jsp新闻查询
  • Linux离线安装MySQL(rpm)
  • java基于SSM的游戏商城的设计与实现论文
  • 总结ECMAScript和JavaScript的区别
  • sublim安装Autoprefixer插件
  • 滑动窗口协议仿真(2024)
  • Android组件 - 收藏集 - 掘金
  • codis proxy处理流程
  •  D - 粉碎叛乱F - 其他起义
  • Service Worker
  • VUE es6技巧写法(持续更新中~~~)
  • Webpack 4x 之路 ( 四 )
  • Web标准制定过程
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从输入URL到页面加载发生了什么
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 蓝海存储开关机注意事项总结
  • 浅谈Golang中select的用法
  • 如何胜任知名企业的商业数据分析师?
  • 实习面试笔记
  • 物联网链路协议
  • 阿里云API、SDK和CLI应用实践方案
  • ​决定德拉瓦州地区版图的关键历史事件
  • #1015 : KMP算法
  • #define
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #QT(智能家居界面-界面切换)
  • $.ajax中的eval及dataType
  • (4)logging(日志模块)
  • (ibm)Java 语言的 XPath API
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Neo4j下载安装以及初次使用
  • (转)Sql Server 保留几位小数的两种做法
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .netcore 获取appsettings
  • .NET大文件上传知识整理
  • .net分布式压力测试工具(Beetle.DT)
  • .NET和.COM和.CN域名区别
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .Net中ListT 泛型转成DataTable、DataSet
  • /etc/sudoer文件配置简析
  • ::前边啥也没有