错误描述:
Compilation failed; see the compiler error output for details.
编译失败了;有关详细信息,请参见编译器错误输出。
关于这个问题 我真的无力吐槽 这个问题导致我卡了几个小时不停的更改配置 不停的跑app 重新运行 下载补丁 插件 !!
在这里记录一下 这个错误的解决方法 :
一来 加深自己的印象 不要下次遇到再懵逼 白白浪费几个小时 解决问题!
二来 为别人留下一个有用的解决方法,而不是瞎几把复制 浪费读者的时间!
首先谈谈错误根源
导致出这个问题 :
大部分是因为导入别人的项目 或者是以前自己写的demo,由于版本不同,引入的库的版本不同,或者是编译的版本不同
造成的。故:有些版本里新添加的方法 或者类 属性导致你现在使用的android studio版本太高了 导致有些低版本的库 会报警告 你看到警告可能会不经意的修改这个库的版本
造成的 编译出错!有些资源根本找不到!
为了重新这个问题 我重新把之前的某个库的版本回调了!文字描述太单调 以后用图片来表示我解决的问题
在studio的Terminal命令行中进入项目的根目录,
或者可以在Android studio的Terminal中直接操作也可以
输入一个:
命令:gradlew compileDebug --stacktrace
就可以输出较详细的信息,然后根据命令行给出的提示,
还可以在后面加上-info或者-debug的选项得到更详细的信息
于是这个命令可以这样写
命令:gradlew compileDebug --stacktrace -info
查找后,我又用上面博主提供的方法用了这个:
命令:gradlew compileDebugSources --stacktrace -info
以上命令参考来源于 https://blog.csdn.net/runner__1/article/details/53482565
根据这位大佬的命令 我们可以查出问题所在 请仔细分析问题所在
再来看看Build的问题
根据红框标出的位置 可以看出问题出在
错误: 找不到符号符号: 类 MultipleItemRvAdapter位置: 程序包 com.chad.library.adapter.base
根据错误提示 我考虑到可能是这个库的版本原因导致有些类或者属性找不到 也就是说 你现在所依赖的库里没有这些
然后我找到自己的Demo里的build.gradle
如图:
找到该库的引用路径 修改成最初的版本即可 第一次可能没有提示 我这是为了错误重现 有了版本提示
还有一点差点忘记:
找到工程的build.gradle,在 repositories 节点添加上 maven { url "https://jitpack.io" }
,
之后打开想依赖这个 library 的模块,比如这里我们是 app 这个 module,在 dependencies 节点添加上
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.40'
,
Sync 一下 Gradle,这样就可以了。如果 Sync 成功了,那我们在 app 中就成功依赖了 GitHub 上的 library
此时可以打开 app 的 Module Settings,看一下它的 Dependencies,如下图:
没有版本提示的情况下 可以GitHub看下文档 看下哪个版本支持哪些功能 这样就可以了!!
什么问题都是等自己解决了才知道 知识的重要性 不会就是不会 !自己解决的问题 才是真的学到了 经历了。。。
与君共勉
我要一步一步往上爬
在最高点乘着叶片往前飞
任风吹干流过的泪和汗
我要一步一步往上爬
等待阳光静静看着它的脸
小小的天有大大的梦想
我有属于我的天
任风吹干流过的泪和汗
总有一天我有属于我的天