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

2024-01-02 16:59:08

一 概要

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版本。

文章来源:https://blog.csdn.net/ganshenml/article/details/135339326
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。