The logbook of Android(安卓)bug in daily development.
文章目录
- 1. androidx 与 support 兼容、ButterKnife 版本
- 2. 由 Charles 引起的 Unable to resolve dependency for ':[email protected]/compileClasspath': 问题
1. androidx 与 support 兼容、ButterKnife 版本
Manifest merger failed : Attribute [email protected] value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add ‘tools:replace=“android:appComponentFactory”’ to element at AndroidManifest.xml:27:5-440:19 to override.
自己遇到这个 Bug 有两种情形:
- androidx 与 support 不可以共存
- Butterknife 版本我 10.0.0 或以上
在自己项目中 没有使用 androidx,但是自己错误的引入了一个 androidx 的包,导致以上错误。
解决了以上问题,重新编译项目,依然会报出此错误,此时就是上面第二条引起的,自己引入的 Butterknife 版本为 10.1.0,具体可以参见 JakeWharton 大神关于此条 issuse 的答复 issuse。
2. 由 Charles 引起的 Unable to resolve dependency for ‘:[email protected]/compileClasspath’: 问题
在好长的一段时间内自己 AS 在构建依赖时总是报出这样的错误:
Unable to resolve dependency for ':[email protected]/compileClasspath':xxxx
其实自己之前也遇到过这样的问题,但是基本都是由网络太差或者由于收到设置了代理,包括 AS 设置的代理和 gradle 设置的代理(.gradle 文件夹下的 gradle.properties ) 。
但是这一次碰到如此的问题以上解决方案均不生效,碰到这样的问题,自己就得重启一下电脑(这太 TM 傻了),但是一直没有找到原因。但是总觉得是代理的问题,但是无奈不懂操作系统原理,不知道代理的设置机制,问题一直没有解决。
但是问题在一段时间终于有了眉目,正如标题所说是抓包工具 Charles 引起的,因为因为项目需要,在日常开发中需要抓包调试,所以 Charles 一直在运行。而自己在配置 Charles 时设置了代理时设置了 MacOs 的系统代理。
取消勾选这两项,选择 AS 的 Invalidate Cache and Restart
,重启一下 AS 后重新构建项目依赖,sucess,哈皮!!!
更多相关文章
- Android(安卓)Studio 3.1.2 新项目报错 AAPT2 error: check logs
- Android(安卓)获取设备和系统信息
- java.lang.ClassCastException: com.google.gson.internal.Linke
- android 开源项目:
- Android(安卓)各版本代号 & Java Source Download
- android webview 遇到android.os.FileUriExposedException错误
- Nexus one (Android(安卓)2.1升级Android2.2)
- Android的源代码下载教程
- android第一行代码实战篇——一个小错误