精华内容
下载资源
问答
  • 1.友盟集成自动更新sdk时,下载了sdk集成进项目,当时的项目中用了OKHttp框架,而该框架又要依赖okio包,于是问题就来了: 首先报错:...

    近期较闲,总结一下最近两个项目中遇到的坑,首先就是友盟自动更新。

    友盟集成自动更新sdk时,下载了sdk集成进项目,当时的项目中用了OKHttp框架,而该框架又要依赖okio包,于是问题就来了:

    首先报错:com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-8-oracle/bin/java'' finished with non-zero exit value 2

    value2 一般是多重引用的问题,以前也遇到过,于是我在gradle里加了multiDexEnabled true,

    但又报错:java.util.zip.ZipException: duplicate entry: com/okio/AsyncTimeOut.class

    搜索了很多方法,最常见的就是去掉gradle中的

    compile 'com.squareup.okio:okio:1.5.0'

    不行,继续报同样的错,

    再比如加:

    packagingOptions {
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
    }
    不行,还是报错。


    比如加:

    android {
         configurations{
            all*.exclude module: 'com.squareup.okio',module:"okio"
        }
    }

    倒是不报错了,也能安装apk了,一运行调用okhttp就crash了,原因是okhttp找不到okio中的方法了。


    这些的原因就是友盟它把okio的包放进了jar包里,我的项目中也要编译okio,于是就多重引用(multi-dex)了。


    最终的解决方法就是重新下载不带wire的友盟自动更新sdk,它默认的版本是带wire的,集成进项目后,顺利gradle--build--run,但是没有收到自动更新的通知,加了回调发现没有任何回调回来,当时看log貌似是哪个方法没找到(具体忘了..),看了官方的sample,它加入了wire-runtime-1.7.0.jar 这个jar包,也就是说sdk虽然是不带wire版本的,但还是要手动依赖wire包的,加入了该jar包后,一切终于正常了……


    上述就是心塞的解决过程,总结一下就是:

    1.下载友盟自动更新不带wire版本的sdk 

    2.添加wire-runtime jar包

    3.gradle中添加multiDexEnabled true


    吐槽一下,友盟的各种sdk经常和其他的包冲突,在jar包里把第三方的code连包带码直接放进去,这样简直是给开发者埋下无数坑啊





    展开全文
  • 友盟feedback okio冲突解决方案

    千次阅读 2016-04-05 10:34:54
    初步判定可能是由于包冲突 google一顿后 初步解决方案是使用分包,但是无果,显然这里并不是这个原因 仔细排查发现问题出在okio这个包上,我的项目用到的网络库是okhttp,而okhttp引用了okio,同样umeng也引用...

    之前项目用到了umeng的feedback模块,在尝试Build的时候出现如下报错:
    Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug’.

    com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.xml
    File1: /Users/chan/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/1.6.0/98476622f10715998eacf9240d6b479f12c66143/okio-1.6.0.jar
    File2: /Users/chan/Documents/xxxx/ChanWeather/app/build/intermediates/exploded-aar/com.umeng/message/2.4.1/jars/libs/com.umeng.message.lib_v2.4.1.jar

    初步判定可能是由于包冲突

    google一顿后 初步解决方案是使用分包,但是无果,显然这里并不是这个原因

    仔细排查发现问题出在okio这个包上,我的项目用到的网络库是okhttp,而okhttp引用了okio,同样umeng也引用了。按照网上的普遍做法,都是在 compile后面加入exclude,但是貌似这个方法已被废弃,而改用packagingOptions。

    如下:

    android {
        packagingOptions {
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
        }
     }
    展开全文
  • okio的jar包冲突解决

    2020-01-17 17:51:49
    5、 Flink的classpath下包含/opt/client/Flink/flink/lib下面的包和yarn classpath下面的包,这样classpath池就包含了okio.1.14.0和okio.1.4.0的包,出现冲突 grep ‘HttpCodec’ * 看看 看看这个类在你flink的lib ...

    在文件/opt/client/Flink/flink/conf/flink-conf.yaml中配置映射关系:
    XXXX

    执行flink run -m yarn-cluster -ynm “test” /opt/client/Flink/flink/examples/streaming/WordCount.jar --input hdfs://hacluster/yy/ --output hdfs://hacluster/yy/test
    报错异常如下:

    分析:
    1、 报错异常就是没有okio.1.14.0包中的 okio.BufferedSource.readUtf8LineStrict(Long)方法
    2、 mrs-obs-provider包下面的okio包都是okio.1.14.0的,flink内核代码用的却是okio.1.4.0的,两者不一致
    3、 对比了这两个包,高版本有带这个参数的这个方法,低版本没有
    4、 从报错栈看出是obs sdk依赖这个包,不是MrsObsCredentialsProvider直接依赖的。
    5、 Flink的classpath下包含/opt/client/Flink/flink/lib下面的包和yarn classpath下面的包,这样classpath池就包含了okio.1.14.0和okio.1.4.0的包,出现冲突
    grep ‘HttpCodec’ * 看看
    看看这个类在你flink的lib 下有没有

    6、 解决方法两个:1.升级flink内核中的okio包版本,2.把 provider改造下,自己把okio打到自己的包里,不用外面flink的 okio包
    7、 因为客户要用自己的flink组件执行翻译,解决方法一不一定可以解决用户的问题,所以应该使用解决方法2

    展开全文
  • 友盟推送jar文件与okio.jar冲突

    千次阅读 2016-10-20 14:44:00
    使用 AndroidStudio 的项目:本身已有引用了 1.6.0 版本的 Okio.. 报错如下: Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> ...

    使用 AndroidStudio 的项目:本身已有引用了 1.6.0 版本的 Okio..
    报错如下:
    Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.xml
            File1: E:\WorkProjects\LingKu\app\libs\com.umeng.message.lib_v2.5.0.jar
            File2: C:\Users\yeds\.gradle\caches\modules-2\files-2.1\com.squareup.okio\okio\1.6.0\98476622f10715998eacf9240d6b479f12c66143\okio-1.6.0.jar

    发现 com.umeng.message.lib_v2.5.0.jar 中有依赖 0.6.0 版本的 okio ..
    pom.xml 文件重复,请问如何解决?



    同样碰上这问题,
    gradle的问题还是由gradle来解决的好。

    我这边
    用上
    packagingOptions {
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
            exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
        }
    排除重复的东西。就可以了。亲测可行。

    最后附上Google的gradle文档地址:

    http://google.github.io/android-gradle-dsl/current/



    展开全文
  • aar文件中已经引入一个Okhttp ,工程里也有一个 OkHttp库,打包不成功,解决方案如下: aar引入改成api 模式: api 'com.squareup.okhttp3:okhttp:3.9.1' 工程里引入正常引入Okhttp: ......
  • okhttp&okio.zip

    2020-02-17 21:44:30
    okhttp-3.4.1加 okio-1.9.0 Jar包,okhttp与okio出现版本适配冲突问题一直非常令人厌烦,本套Jar包经上传者实际运用,无版本冲突问题,请下载压缩包后解压使用。
  • Okio源码学习分析

    2019-04-18 10:31:16
    在之前的文章Okio—— 更加高效易用的IO库中参考官方的demo简单学习了一下Okio的使用方法,这篇就来简要分析学习一下Okio的源码实现。 Okio源码中主要有这么几个重要的东西: Source和Sink Segment Buffer ...
  • Okhttp 之 okio

    千次阅读 2018-04-04 17:20:20
    本文是的前一篇文章 Okhttp IO 之 Segment &...okio 中添加一个类 ByteString,顾名思义就是字节串,这里做一个概要的讲解,具体的实现大家可以去看源码。 既然是字节串,它内部就是用一个字节数组支持的。 ...
  • Okio原理解析

    2020-12-26 18:37:34
    随着越来越多的应用使用OKHttp来进行网络访问,我们有必要去深入研究OKHTTP的基石,一套更加轻巧方便高效的IO库okio。 一、OKIO的介绍: okio是大名鼎鼎的square公司开发出来的,其是okhttp的底层io操作库。其相...
  • 有以下这几个包: com.google.code.gson:gson com.squareup.retrofit2:retrofit ...com.squareup.okio:okio io.reactivex:rxjava io.reactivex:rxandroid 解决: implementation ('com.squareu...
  • 在某些特殊的情况下,需要对项目中使用的 okhttp 的包名进行修改,避免冲突或者版本不一致导致找不到类的问题。Android 必知必会 - 自定义 OkHttp 、OkIo 的包名
  • Okio库补充io和nio的不足

    千次阅读 2018-05-10 20:49:59
    OKIOOkio库是一个由square公司开发的,它补充了Java.io和java.nio的不足,以便能够更加方便,快速的访问、存储和处理你的数据。而OkHttp的底层也使用该库作为支持。而在开发中,使用该库可以大大给你带来方便。:...
  • Android 基于TCP的 Socket 编程实现(结合 okio

    万次阅读 多人点赞 2017-03-31 16:35:17
    两个进程如果要进行通讯最基本的一个前提就是能够唯一的标识一个进程,在本地进程通讯中我们可以使用 PID 来唯一标识一个进程,但 PID 只在本地是唯一的,网络中两个进程 PID 冲突几率很大,这时我们就需要通过其他...
  • 在某些特殊的情况下,需要对项目中使用的 okhttp 的包名进行修改,避免冲突或者版本不一致导致找不到类的问题。如果移动端访问不佳,请使用 ==> Github Pages 版。环境:macOS 10.12.6IDEA CE 2016....
  • 1、注意事项 使用的jar为okio-1.9.0.jar和...okhttp架包版本过低也会出现架包冲突; 2、网上的例子: private final OkHttpClient client = new OkHttpClient(); public void run() throws Exception { ...
  • 当遇到BoClassDefFoundError: okio/Options的时候,首先想到的是jar包冲突了。 项目中引入的maven如下: <!-- 引入 bitcoinj-core--> <dependency> <groupId>org.bitcoinj</groupId> ...
  • 问题:Android Studio 引入冲突的jar包之后,会出现类似的错误。 解决方案:引入packagingOptions android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId ...
  • maven 依赖冲突

    2020-06-23 17:03:01
    依赖冲突 目前,SDK 依赖 okhttp 2.5.0,如果和其他依赖 okhttp3 的包混用时,有可能会报错,例如:Exception in thread "main" java.lang.NoSuchMethodError: okio.BufferedSource.rangeEquals(JLokio/ByteString;...
  • jar冲突

    2016-08-25 18:10:05
    > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.squareup.okio/okio/pom.xml File1:
  • weex依赖okhttp2,腾讯cos依赖okhttp3,这两个依赖的okio版本不一致导致了冲突 解决办法:  compile 'com.squareup.okhttp:okhttp-ws:2.3.0' compile '...
  • | \--- com.squareup.okio:okio:1.11.0 +--- org.greenrobot:eventbus:3.0.0 +--- com.jakewharton:butterknife:8.5.1 | +--- com.jakewharton:butterknife-annotations:8.5.1 | | \--- ...
  • Android解决依赖冲突:Program type already present

    万次阅读 多人点赞 2019-01-11 17:57:04
    就是依赖冲突,后来解决就是 双击shift,全局查找冲突的这个IPackageDeleteObserve ,发现有两个包都引入了这个,删掉一个包,重新构建就OK了。 虽然解决的很简单,但是看到一篇文章特别好,暂时记录一下: And...
  • 开发项目,多多少少都会引进一些第三方jar或者aar资源文件,方便开发个性化功能,但这样就经常会出现包冲突、文件冲突、重复导入资源或者导入俩个不同的包中包含有相同的文件资源呢!后果导致编译失败,提示错误! ...
  • 一、你的build.gradle 里面只有一个依赖引用了冲突包(一般情况是要么多个依赖引用了冲突包或者是依赖的Module包含了冲突包) 首先做一个演示测试,在我的空项目里面导入: implementation '...
  • gradle 使用 exclude 解决jar包冲突

    千次阅读 2021-03-31 16:26:13
    1. 查看冲突的jar包;一眼能看出来的跳到第二步; 遇到隐藏比较深的就比较难受了,肉眼完全看不出来,此时使用以下命令查看: gradlew -q app:dependencies 查看依赖树; 比如: Duplicate class androidx....
  • 最近在项目的整合和接入第三方sdk的过程中多次遇到DexArchiveMergerException/ transformDexArchiveWithExternalLibsDexMergerForDevelop等报错,详细的报错信息如下,一般有如下两种场景,一种是依赖冲突,一种是...
  • 使用maven-shade-plugin中提供了的Relocating(迁移)功能解决包冲突
  • 今天导入了一个SDK,出现了jar包冲突,由于是直接导入的SDK,使用 implementation files('**.jar'){ exclude group:'com.squareup.okhttp3' exclude group:'com.squareup.okio' } 不生效,需要在外部进行移除 ...
  • Error: Program type already present:okio.AsyncTimeout; Error: Program type already present: rx.android.BuildConfig; Error: Program type already present: okio.Buffer$1; Error: Program type alread...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 534
精华内容 213
关键字:

okio冲突