android studio gradle 友盟自动更新jar包 okio冲突
来源:互联网 发布:淘宝买家秀点赞没了 编辑:程序博客网 时间:2024/05/02 02:28
近期较闲,总结一下最近两个项目中遇到的坑,首先就是友盟自动更新。
友盟集成自动更新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连包带码直接放进去,这样简直是给开发者埋下无数坑啊
- android studio gradle 友盟自动更新jar包 okio冲突
- 友盟的自动更新jar包冲突
- 友盟推送jar文件与okio.jar冲突
- Android Studio jar包冲突
- Android Studio 重复jar包冲突问题
- Android Studio Jar包冲突解决方案
- Android Studio jar包文件冲突
- 关于android studio的jar包冲突
- Android Studio 重复jar包冲突问题
- Android Studio 引入Jar包,Jar包冲突问题总结
- Android Studio引入gradle包icon有冲突解决
- Android Studio如何引用jar包(非gradle)
- Android Studio如何引用jar包(非gradle)
- android studio http请求导入jar包冲突
- gradle 使用 exclude 解决jar包冲突
- Android studio使用gradle将assets目录so库打进jar包以及jar包拆分
- Android Studio gradle生成jar
- 友盟feedback okio包冲突解决方案
- HDU 2955 Robberies(01背包/对象转移)
- 大型网站系统架构的演化
- 【趣读官方文档】1.管家的抉择 (Android进程生命周期)
- poj 2251 Dungeon Master(BFS)
- 报表打印时提示页边距被设置到纸张可打印范围之外怎么办
- android studio gradle 友盟自动更新jar包 okio冲突
- Android自定义控件 -- 自定义ViewGroup
- Java垃圾回收GC(二)
- Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- vs2015+ffmpeg开发环境配置
- 动画Animation两种实现方式的不同效果
- AS400遇到的一些问题和解决办法
- 基于wpa_supplicant库的WIFI连接功能实现--应用层碎片式对象内存管理算法
- 关于通过导数据出现的oracle字符集问题