今天在学习laogaoxiaoxin的kotlin项目MtimeInKotlin时遇到几个可能是版本兼容上的问题。
1.Error:This Gradle plugin requires Studio 3.0 minimum
这个可能是需要as3.0吧,但是我不能因为学习这一个项目,就升级预览版的as3.0,所以我就寻找解决方法。
首先将project的build.gradle 里面的classpath 'com.android.tools.build:gradle:3.0.0-beta6'修改为classpath 'com.android.tools.build:gradle:2.3.3'
降低版本的支持。
修改之后又出现了下面的问题
2.Error:(40, 0) Could not find method implementation() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
<a href="openFile:E:\AppDemo\Mine\MtimeInKotlin\app\build.gradle">Open File</a>
然后又百度搜索解决方法,这里我们点击open file定位到app 的build.gradle的dependencies里面
配置文件代码如图
我们将implementation修改为compile。参考:解决方法
try again 之后没有问题了,接下来就是编译运行,然后出错
3.Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
很诡异,百度了好久没有找到解决方法,但是找到一个寻找问题原因的方法。快速解决Error:Execution failed for task ':app:compileReleaseJavaWithJavac'. > Compilation failed; see th
找到问题的原因之后,我继续百度错误:注释处理器'__gen.AnnotationProcessorWrapper_debug_android_databinding_annotationprocessor_ProcessDataBinding'未找到。
解决方法就是将annotationProcessor替换为kapt 。细心的朋友可以看出上图的倒数第三行和倒数第四行实际导入的是同一个模块。所以直接删除annotationProcessor引入的就行了。
然后运行,成功