Execution failed for task ':app:kaptGenerateStubsDebugKotlin

错误:
android studio更新了V3.1.1之后,原本跑的好端端的程序,突然崩了。然后报错。

 org.gradle.api.tasks.TaskExecutionException:
  Execution failed for task ':app:kaptGenerateStubsDebugKotlin'
java.lang.ClassNotFoundException: 
   org.jetbrains.kotlin.resolve.checkers.SimpleDeclarationChecker

原因:
1.:app:kaptGenerateStubsDebugKotlin是Build一个步骤,其实有具体报错信息,这并无法具体判断错误。

2.在kotlin包中找不到SimpleDeclarationChecker,说明kotlin引用版本可能有问题,可能在新版本中有了新东西。

解决方法:
1.先把kotlin版本引用升级到最新(就解决了第二个错误了)
2.再使用–stacktrace看console 具体错误信息
3.最后居然发现是room的SQL语句的问题,我了个去。

@Query("select periodBeginTime from historyrecords where historyRecordId = :arg0")
fun getOneHistoryBeginRecordTime(thisId :Int):String

改成

@Query("select periodBeginTime from historyrecords where historyRecordId = :thisId")
fun getOneHistoryBeginRecordTime(thisId :Int):String

之前查SQL语句的时候,看到网上的例子,带参数的使用arg0没问题,用函数中的参数名称就会报错,所以ROOM是更新了吗!?现在可以用参数名了,之前的反而报错了。醉了。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页