安卓包冲突,包重复的解决方案(很有效)

前言


声明: 本文仅供安卓新手或者有需要的人阅读, 老司机请绕路。^ ,^!!

这个问题,我非常久之前就想把这个问题归类进行总结, 但是苦于每次都是零零碎碎的,没有遇到好的情况能够直接说明,这次再次遇到之后,就好好的整理下这个问题, 给遇到该问题却不知道怎么思考的同学一个思维导向,让你们以后进行开发的时候 ,不会这样的存在后顾之忧。本文可能会讲几个典型的例子,不过主要还是教大家一个思维方式和“统一原则” 。(请大家一定要切记,我发现很多有经验的开发者也没有遵循)

第一种情况 包冲突(也叫包重复)


首先,我们来讲下为什么会出现这样的情况。我们做安卓开发的都应该知道,版本这个词,几乎贯穿了整个安卓开发, compileSdkVersion , buildToolsVersion , minSdkVersion , targetSdkVersion ,最后是依赖版本号supportVersion (这里指的是谷歌依赖包的版本号)
经常遇到这样的情况,我们发现很多问题都是因为这些版本不一致,当然我们的包冲突也不例外,当然这个也是当中的一种情况,我们先说说这个情况。

  • 错误一,最直观的报错:运行时就已经出现了错误。(这算是有根可循了)
image.png
  • 错误二,可能我们平常看到的包冲突一般是这样的,没有【错误一】那么有根可循。


    image.png
  • 分析:针对【错误一】我们可以这样做 ,我们复制这个出现错误的类 ,按两下shift弹出全局搜索的对话框。我们可以看到这样的


    image.png

    结果很清晰, 那就是两个版本不同的包进行冲突了。那么我们怎么解决呢?
    我们先不急,我们先观察下我们External Library(就是我们平常可以看到当前项目集成了依赖包)

image.png

这样我们是不是恍然大悟了呢? 我们经常做安卓开发, 肯定或多或少会遇到一些这样的问题 ,接下来我们只要把所有版本号 修改一致就好了,详情如下图:

image.png

我们修改这些版本是有一个原则的,就是开头一定是一致的,我们这里说的都是26或者26.x.x,而我们通过External Library就可以检查这些版本是不是有多个版本在该项目中,因为有一个不同版本的依赖包多少会影响开发,或许你想说,我也是版本不同,但是也没有出现你这样的情况,有必要那么危言耸听么?

版本不同,就像是一个定时炸弹,或者你这会写代码没出什么问题,可能你再加一个module作为依赖,可能会导致这个问题比较突出,我提供的这些方法就能够非常有效的避免和规避这些问题。

【错误二】的分析思路也是和上面一致的,只要记住一个“统一原则”。

假设你把这些版本差异都改成了一致, 以我解决了无数次的经验,肯定会出现真正的错误,这样的错误是可以看到日志的,相信这个时候,你肯定能够那找到一些蛛丝马迹。(当然没有解决你的问题,可以加群一起交流哦)

  • 统一原则: 所有的module不管是依赖还是主工程,都要保持这些版本一致,
 ``compileSdkVersion``     //指定构建版本
 ``buildToolsVersion``      //构建工具版本
 ``minSdkVersion``         //最小版本
 ``targetSdkVersion``    //指定平台版本
``supportVersion``      //所有谷歌依赖包版本

附其他情况(由于当前没有那样的问题,等有问题再在此进行补充)

以上的都是AS开发中谷歌依赖包出现的问题, 这个虽然常见,但也不能涵盖所有的问题,比如还有我们常见的okhttp的包冲突,还有集成阿里的UTDevice等, 我们解决这些【包冲突】的思路,其实我在上面已经说的非常清楚,就是“统一原则”,okhttp之类的冲突,主要是版本不一致导致, 阿里的utdevice是因为有多个相同的包在项目内,可以在阿里对应sdk的开发文档中,下载不含这个文件的sdk, 这些官网都是有说明的。

如果实在以上的解决方案还没有解决你的问题, 那么肯定是我的锅, 我有责任给你解决掉。请到鸿洋的群找我吧!!请戳↗↗↗wanandroid交流群 记得附上答案,http://www.wanandroid.com哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335