您的位置:首页 > 移动开发 > Android开发

android studio 使用kotlin编写architecture componets的配置问题

2017-06-17 08:13 591 查看
出了最新的架构就要自己动手写个demo试一下,于是我决定使用kotlin语言写一个architecture componets的demo,也算是对自己这段时间学习内容的总结和应用。architecture componets需要配置两个官方组件:lifecycle,room。

最初我的配置是这样的:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"


而程序写好之后,却报错:

Caused by: java.lang.RuntimeException
cannot find implementation for com.newstart.xuzhen.
xzdevelopmentframeworkdemo.architecture_componets.
db.MyDatabase.MyDatabase_Impl does not exist


room根本就没有被程序识别啊。当时感觉自己配置都是对的,百思不其解,程序重新写了几遍,还是不行,直到最近在Stack Overflow上看到,原来使用kotlin需要配置kapt,组件才可以运行,就像之前java需要配置apt一样。于是我将app的build.gradle改为:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
kapt "android.arch.lifecycle:compiler:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
kapt "android.arch.persistence.room:compiler:1.0.0-alpha1"


之后运行正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: