? ? ? ? 今天在学习okhttp相关视频时,安装视频的操作在自己的工程中引入三方的模块,但是发现引入后和预期的不一致。不一致指的是,视频中以module方式引入sample-okhttp并解决冲突后,sample-okhttp能够被android stuidio识别为applicayion类型的module,可以构建成apk。但是我照着视频操作后,发现我的android studio只会把sample-okhttp识别成普通的library。并且我检查了sample-okhttp模块中build.gradle中明明是
apply plugin: 'com.android.application'
? ? ?这就很奇怪了。下面介绍下我是如何慢慢摸索和解决这个问题的。
1、按照视频操作,在已有工程中导入? ?
相关视频:4.尚硅谷_OKHttp_Utils 简介_哔哩哔哩_bilibili



引入后,build一下,发现sample-okhttp模块被识别为library了,而不是appliction。这就很奇怪了?

2、以独立工程打开下载的源码
? ? ? ? 鉴于上面的步骤没找到问题原因,我就尝试不在已有的工程中导入我们下载的项目工程,而是直接打开一个新的android studio窗口来打开我们下载的项目工程。
? ? ? ? 但是发现居然也有相同问题

?尝试同步一下工程


?????????也没看出同步后哪里有问题啊,这就起了怪了!!!
? ? ? ? 后来眼尖终于发现问题了,其实sync同步其实是失败的,见下图?

然后打开event log窗口查找具体失败原因

根据报错信息Gradle sync failed: Unsupported method: SyncIssue.getMultiLineMessage()....,网上百度了一下,试了几个方案终于成功了。
3、解决问题
????????? 在这篇文章中介绍了如何解决该问题:? ?Android Studio 4.1.2 编译 老项目 出现Gradle sync failed: Unsupported method: SyncIssue.getMultiLineMessage – 蒋智昊的博客?
?我执行了这两步后再同步就成功了。
4、总结
? ? ? ? 事后回归一下,从网上下载源码然后打开,编译失败基本都是解决完冲突,更改成合适的gradle版本号和build-tool版本号就能解决问题了。本次遇到的问题也是基于此解决的,要是早意识到这个问题,就不至于卡了1个半小时才解决了。
|