解决kotlin写Android项目编译报Execution failed for task ‘:app:kaptDebugKotlin‘.异常

遇到的报错标题也是app:kaptDebugKotlin,具体报错信息不是,也可以试一下这个方法。

尝试办法:将kapt改为annotationProcesser,并同步项目,我的项目使用了databinding和arouter,原本是这样引入的:

//kotlin databinding
    kapt "com.android.databinding:compiler:4.1.1"

    //Android路由(用于不同app之间的跳转)
    implementation 'com.alibaba:arouter-api:1.5.0'
    kapt 'com.alibaba:arouter-compiler:1.2.2'

上面这样写会报错,用annotationProcessor替换掉kapt,并同步项目就没问题了:

//kotlin databinding
    annotationProcessor "com.android.databinding:compiler:4.1.1"

    //Android路由(用于不同app之间的跳转)
    implementation 'com.alibaba:arouter-api:1.5.0'
    annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

但是在kotlin项目中难道不是应该用kapt替换掉annotationProcessor吗,这个我自己的项目弄了半天才跑起来,搞半天是kapt的问题,本来项目没什么问题,删除了自定义的BaseActivity和BaseFragment,直接构建项目,报错找不到BaseActivity和BaseFragment,把BaseActivity和BaseFragment改成BaseRxActivity和BaseRxFragment,构建项目,报错找不到BaseActivity和BaseFragment,把BaseActivity和BaseFragment改成BaseRxActivity和BaseRxFragment,构建项目(还有一些BaseActivity和BaseFragment没有替换完毕),就出现这样的问题了,这问题千古难遇啊,

可能是kotlin编译的原因,能试的很多方法都试了,还一直报这个错误,本来改了一部分之后,构建不报错,Rebuild不报错,运行到手机或者模拟器开始报错app:kaptDebugKotlin,弄了3个多小时一直报错app:kaptDebugKotlin,最后用这个方案把kapt改成了annotationProcessor,然后同步,然后运行到手机或者模拟器,

这时候发现代码报错(很奇怪,构建和Rebuild一直不报错,清空缓存重启不报错,关机重新打开Android Studio不报错,构建和Rebuild一直不报错,把kapt改成了annotationProcessor,同步之后报错,报错是因为找不到BaseActivity和BaseFragment),然后把BaseActivity和BaseFragment改成BaseRxActivity和BaseRxFragment,构建项目,发现有些页面报错找不到BaseActivity和BaseFragment,就一直改,改完之后运行到手机或者模拟器,不报错了。。。

但是会有一些警告,然后再用kapt替换掉annotationProcessor,并同步项目就没问题了。也是服了,这是怎么回事,Android Studio真他妈的奇怪。。。

//kotlin databinding
    kapt "com.android.databinding:compiler:4.1.1"

    //Android路由(用于不同app之间的跳转)
    implementation 'com.alibaba:arouter-api:1.5.0'
    kapt 'com.alibaba:arouter-compiler:1.2.2'

如对此有疑问,请联系qq1164688204。

推荐Android开源项目

项目功能介绍:原本是RxJava2 和Retrofit2 项目,现已更新使用Kotlin+RxJava2+Retrofit2+MVP架构+组件化和
Kotlin+Retrofit2+协程+MVVM架构+组件化, 添加自动管理token 功能,添加RxJava2 生命周期管理,集成极光推送、阿里云Oss对象存储和高德地图定位功能。

项目地址:https://gitee.com/urasaki/RxJava2AndRetrofit2

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐