前言 实际开发中,为了提高开发速度和效率,总避免不了引用第三方提供的依赖和类库,如果含有相同依赖的类库被我们引用时,而他们的版本又不相同,就有可能会导致一系列问题和异常,本文结合本人时间总结和他人经验,稍作总结. 问题 依赖 下面是一个项目build.gradle中的依赖,我们简单做一下分类 网络相关 okhttp retrofit http-legacy 常用类库 rxpermission(权限监测) leakcanary(内存泄漏) BaseRecycleViewAdapterHelper(…
3情况1:个例 build.gradle 中 dependencies { classpath 'com.android.tools.build:gradle:3.1.1' // } 改成 dependencies { //目前最新版[2018年05月15日] classpath 'com.android.tools.build:gradle:3.1.2' // } 情况2:确实是依赖冲突 Error: Program type already present: android.support.…
0. 前言   我们在Android开发--事件分发机制详解中深入学习了事件分发机制,为我们解决Android开发中的滑动冲突问题做了初步准备.针对滑动冲突这里给出两种解决方案:外部拦截法和内部拦截法. 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52600422 1.外部拦截法 外部拦截法是指事件都先经过父控件的拦截处理,这里需要注意的是ACTION_DOWN事件父控件中必须返回false,因为如果父控件拦截了DOWN,后续事…
背景 因为公司一个app项目需要扩展,因为功能较多且较完整的流程与业务,而且和以前的业务关系不大,所以我整合到了 另外一个分包中(代号:newFunc,请注意是代号)进行依赖. 当我写完这部分业务开始进行debug的时候我发现了这个错误. 上述中我得出already这个关键字,在对分包的集成测试中没有出现问题,上述中我得出already这个关键字,说明已经存在,那么很有可能是冲突. 分析 材料: app 主包 newFunc(代号) 分包 我搜集了两个包中的build.gradle,最有可能影响…
版本冲突 Gradle提供了两种解决版本冲突的策略:Newest和Fail.默认策略是Newest,配置Fail模式: configurations.all { resolutionStrategy.failOnVersionConflict() } 这两种策略一般能够满足使用,但Gradle提供了颗粒度更细的控制: 强制依赖 configurations.all { //如果有冲突,强制依赖asm-all的3.31版本和commons-io的1.4版本 resolutionStrategy.f…
1.确保所有依赖包的 implementation 'com.android.support:appcompat-v7:25.4.0'是一样的 2.确保最外层的build.gradle中增加如下代码: allprojects { repositories { google() jcenter() } subprojects { project.configurations.all { resolutionStrategy.eachDependency { details -> if (detai…
背景 这个错误的原因是:androidx和 android.support同时存在. 首先,网上有很多解答说这样处理: 在 gradle.properties 添加: android.useAndroidX=true android.enableJetifier=true 然后再build.gradle 中添加这个: implementation "androidx.room:room-runtime:2.0.0-alpha1" annotationProcessor "an…
Android studio 抛错,是因为有2个module在 AndroidManifest.xml 里面具有一样的package name,修改不同名字即可. 还有一种情况是多个module对同一个library(eg: jar)引入多次,此时,可以一个module引入,另外一个module引入上一个module即可.  …
com.firebaseui:firebase-ui-firestore:3.1.0 depends on android.arch.lifecycle:extensions:1.0.0-beta1. Switching to version 3.2.2 fixes the issue by using the Lifecycle 1.1 libraries that Support Library 27.1.0 are built upon. 解决方案: Try to replace all …
Apparently, this is intended behavior: com.firebaseui:firebase-ui-firestore:3.1.0 depends on android.arch.lifecycle:extensions:1.0.0-beta1. Switching to version 3.2.2 fixes the issue by using the Lifecycle 1.1 libraries that Support Library 27.1.0 ar…