街道书记
街道书记
  • 发布:2019-07-17 16:18
  • 更新:2019-07-17 17:44
  • 阅读:3576

Android第三方aar文件和uni-app原生打包环境冲突

分类:uni-app

写一个uinapp的插件,用到Android一个第三方ocr识别库,讲aar放到uni-app的Android目录下,云打包就会提示包冲突,打包失败。好像是这个aar文件有okhttp的网络库,我把okhttp库删掉,就可以打包成功,但是这个这个ocr识别库就用不了了。我感觉应该是aar里面的okhttp网络库和uni-app里面的网络库冲突了,大家有遇到的吗?这种情况应该怎么解决呢?很多aar包里面都带网络库了,这种问题应该很常见吧。

异常如下:
Appid: UNIE0C8F00

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':transformClassesWithMultidexlistForRelease'.

    com.android.build.api.transform.TransformException: Error while generating the main dex list.

  • Try:
    Run with --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':transformClassesWithMultidexlistForRelease'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)

2019-07-17 16:18 负责人:无 分享
已邀请:
8***@qq.com

8***@qq.com

我也遇到同样问题

DCloud_Android_ST

DCloud_Android_ST

看下第三方的库用到了那个版本的okhttp

  • 街道书记 (作者)

    第三方的okhttp版本是2.7.5

    2019-07-17 18:01

街道书记

街道书记 (作者) - 一个只会写helloworld的程序猿

好像通过module依赖

  • DCloud_Android_ST

    找下版本 目前主项目依赖的com.squareup.okhttp:okhttp:2.3.0

    2019-07-17 17:32

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 您好,打包失败是不是跟这个okhttp冲突有关系?

    2019-07-17 17:36

  • DCloud_Android_ST

    回复 街道书记:看你这种情况应该是 可能okhttp版本冲突。目前没有好的解决方案。

    2019-07-17 17:40

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 这个的原因应该是,有okhttp就会冲突吧。我用Android Studio测试你们的官方的时候,把app.gradle的okhttp注释掉,是可以运行的。插件也是可以用的。放出来的话,我as本地运行也报错了,换版本号也不行。看下图

    2019-07-17 17:43

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 难道你们的打包环境里面用了okhttp的库,aar包里面就不能用了吗?其他的第三方库也是这样吗?我给主app的okhttp换成okhttp3,as是可以编译运行的

    2019-07-17 17:50

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 离线打包能解决这个问题吗?离线打包里面的第三方库我自己可以修改吗?

    2019-07-17 17:51

  • DCloud_Android_ST

    回复 街道书记: 你随意修改主app的okhttp 会导致主项目的部分逻辑无发正常运行的

    2019-07-17 17:52

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 难道现在就没有解决okhttp冲突的方案吗?你们官方的写的第三方插件没遇到这个问题?网络库冲突应该很常见啊。大佬,给想想办法啊,项目进行不下去了

    2019-07-17 17:59

  • DCloud_Android_ST

    回复 街道书记: 目前没有我们也在着手避免这样的问题。

    2019-07-17 18:07

  • DCloud_Android_ST

    回复 街道书记: 写的插件都是基于com.squareup.okhttp:okhttp:2.3.0去适配的。

    2019-07-17 18:08

  • 街道书记 (作者)

    回复 DCloud_Android_ST: 我昨天冲突的第三方的okhttp版本是2.7.5

    2019-07-18 09:25

街道书记

街道书记 (作者) - 一个只会写helloworld的程序猿

注释掉,我as本地可以正常运行到手机。放出来和换版本号都不能运行。

该问题目前已经被锁定, 无法添加新回复