错误:
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是更新了吗!?现在可以用参数名了,之前的反而报错了。醉了。