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

解决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

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android开发过程中,我们经常会遇到一些错误和问题。其中一个常见的问题是在构建应用程序时出现"execution failed for task ':app:kaptdebugkotlin'. > a failure occurred while"的错误信息。 这个错误通常是由于Kotlin Annotation Processing Tool (KAPT)出现问题导致的。KAPT是一个用于处理Kotlin注解的工具,它可以帮助我们在编译期间生成一些代码。当我们在项目中使用了一些需要处理的注解时,KAPT会尝试进行代码生成。 然而,有时候KAPT在处理注解时可能会出错。这可能是由于注解的定义不正确、注解处理器的问题、依赖冲突或其他原因引起的。当KAPT出现错误时,Gradle会抛出"execution failed for task ':app:kaptdebugkotlin'. > a failure occurred while"的错误信息。 要解决这个问题,我们可以尝试以下几个步骤: 1. 检查项目中使用的所有注解,并确保它们的定义是正确的。有时候注解的参数、类型或其他属性不正确可能导致KAPT出错。 2. 检查项目中使用的注解处理器,并确保它们是最新版本。有些注解处理器可能存在Bug或与其他依赖项冲突,导致KAPT出错。 3. 通过查看Gradle的日志输出,定位错误的原因。Gradle通常会提供更详细的错误信息,帮助我们找出问题所在。 4. 更新Gradle和Android Gradle插件的版本。有时候旧版本的Gradle或插件可能存在Bug,升级到最新版本可能有助于解决问题。 5. 检查项目的依赖项,确保没有版本冲突或不兼容的库。有时候不同库之间的版本冲突可能导致KAPT出错。 通过以上几个步骤,我们可以尝试解决"execution failed for task ':app:kaptdebugkotlin'. > a failure occurred while"的错误信息。如果问题仍然存在,我们可以尝试在开发者社区或相关论坛上寻求帮助,寻找其他解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值