我面临着以下问题,却没有找到真正的解决办法。我试图在没有运气的情况下添加房间库。每次我都会遇到这个错误:
e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing
at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:137)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:158)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:61)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:92)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:386)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:96)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:892)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:96)
at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:919)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:891)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:385)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:90)
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:42)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:205)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:166)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:82)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:96)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:106)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:83)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:376)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:96)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:367)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:132)
... 30 more
:app:kaptDevDebugKotlin FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptDevDebugKotlin'.
> Internal compiler error. See log for more details
这是我的build.gradle(模块)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
productFlavors {
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 16
buildConfigField "String", "URL_BASE", "\"https://www.xxxxx.com\""
}
prod {
minSdkVersion 16
buildConfigField "String", "URL_BASE", "\"https://www.xxxxx.com\""
}
}
defaultConfig{
multiDexEnabled true
}
lintOptions{
abortOnError false
}
packagingOptions {
exclude 'META-INF/rxjava.properties'
}
flavorDimensions "default"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
buildscript {
ext.supportVersion = '26.0.2'
ext.appcompat_version = '26.0.2'
ext.retrofitVersion = '2.3.0'
ext.rxVersion = '2.0.2'
ext.rxAndroidVersion = '2.0.1'
ext.rxKotlinVersion = '2.0.0'
ext.okhttpVersion = '3.8.1'
ext.multidexVersion = '1.0.1'
ext.gsonVersion = '2.8.0'
ext.inappBillingVersion = '1.0'
ext.picassoVersion = '2.5.2'
ext.circleImageViewVersion = '2.1.0'
ext.tedPermissionsVersion = '2.1.0'
ext.firebaseAuthVersion = '2.3.0'
ext.firebaseCoreVersion = '11.0.4'
ext.rxLifeCycleVersion = '2.2.1'
ext.circleImageViewVersion = '2.1.0'
ext.picassoVersion = '2.5.2'
ext.parcelerVersion = '1.1.9'
ext.glideVersion = '4.6.1'
ext.roomVersion = '1.0.0'
repositories {
mavenCentral()
jcenter()
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
//Framework
compile "com.android.support:appcompat-v7:$supportVersion"
compile "com.android.billingclient:billing:$inappBillingVersion"
compile "com.firebaseui:firebase-ui-auth:$firebaseAuthVersion"
compile "com.google.firebase:firebase-core:$firebaseCoreVersion"
compile "com.android.support:support-v4:$supportVersion"
//Room
compile "android.arch.persistence.room:runtime:$roomVersion"
compile "android.arch.persistence.room:rxjava2:$roomVersion"
kapt "android.arch.persistence.room:compiler:$roomVersion"
//Kotlin
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//Rx & Retrofit 2 **********************************
compile("com.squareup.retrofit2:retrofit:$retrofitVersion") {
// exclude Retrofit’s OkHttp peer-dependency module and define your own module import
exclude module: 'okhttp'
}
compile "com.squareup.retrofit2:converter-gson:$retrofitVersion"
compile "com.squareup.retrofit2:adapter-rxjava2:$retrofitVersion"
compile "io.reactivex.rxjava2:rxkotlin:$rxKotlinVersion"
compile "com.squareup.okhttp3:okhttp:$okhttpVersion"
compile "com.squareup.okhttp3:logging-interceptor:$okhttpVersion"
compile "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}"
compile "io.reactivex.rxjava2:rxjava:$rxVersion"
compile "com.trello.rxlifecycle2:rxlifecycle:$rxLifeCycleVersion"
compile "com.trello.rxlifecycle2:rxlifecycle-android-lifecycle-kotlin:$rxLifeCycleVersion"
compile "com.trello.rxlifecycle2:rxlifecycle-components:$rxLifeCycleVersion"
//others
compile "com.squareup.picasso:picasso:$picassoVersion"
compile "gun0912.ted:tedpermission-rx2:$tedPermissionsVersion"
compile "de.hdodenhof:circleimageview:$circleImageViewVersion"
compile "com.squareup.picasso:picasso:$picassoVersion"
implementation "com.github.bumptech.glide:glide:$glideVersion"
kapt "com.github.bumptech.glide:compiler:$glideVersion"
//Parceler
compile "org.parceler:parceler-api:$parcelerVersion"
kapt "org.parceler:parceler:$parcelerVersion"
//testing
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
kapt {
generateStubs = true
arguments {
arg("realm.ignoreKotlinNullability", true)
}
}
repositories {
mavenCentral()
}
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.2'
}
}
}
}
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
实体:
import android.arch.persistence.room.ColumnInfo
import android.arch.persistence.room.Entity
import android.arch.persistence.room.PrimaryKey
import org.parceler.Parcel
@Parcel
@Entity (tableName = "thumbnails")
data class Thumbnails(
@ColumnInfo(name = "id")
@PrimaryKey(autoGenerate = true)
open var id: Long = 0,
@ColumnInfo(name = "profile")
open var profile: String? = "",
@ColumnInfo(name = "contact")
open var contact: String? = ""
)
我的课:
@Dao
interface MyDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertItem(items : List<Item>)
@Query("SELECT * FROM thumbnails WHERE id = :id")
fun getItemById(id : Int) : Single<Item>
}
我的数据库:
@Database (entities = arrayOf(Thumbnails::class), version = 1)
abstract class MyDataBase : RoomDatabase() {
abstract fun myDao() : MyDao
}
从应用程序创建实例:
class AppDelegate : Application() {
companion object {
var appContext : Context? = null
var prefs : SharedPreferencesManager? = null
var db : MyDataBase? = null
}
override fun onCreate() {
super.onCreate()
prefs = SharedPreferencesManager(appContext)
db = Room.databaseBuilder(this, MyDataBase::class.java, "my_database").build()
}
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)
appContext = base
}
}
嗯,错误还不清楚,我一直在寻找解决办法。
如果我删除MyDatabase类,构建过程将成功结束。我想问题出在这门课上,但我找不到。
好的,问题出在MyDao类上。函数getItemById
返回了错误的类型。我已经放置了项
,我需要返回缩略图
类
@Query("SELECT * FROM thumbnails WHERE id = :id")
fun getItemById(id : Int) : Single<Thumbnails>
主要内容:使用Rem语句注释,注释使用::声明为创建的脚本添加注释或文档总是一个好习惯。 这是一个维护脚本用来理解脚本实际所做的事情所必需的注释。 例如,考虑下面这段没有注释形式的代码。 如果一个没有任何注释的脚本,普通人试图理解脚本,那么需要很多时间来理解脚本做些什么工作。 使用Rem语句注释 有两种方法可以在批处理脚本中创建注释; 一个是通过命令。 语句后的任何文本都将被视为注释,不会被执行。 以下是此声明的一般语法。 语法 其中是需要添
注册表是Windows系统的关键要素之一。 它包含有关操作系统各个方面的大量信息。 几乎所有安装在Windows系统上的应用程序都以某种形式与注册表交互。 注册表包含两个基本元素:键和值。 注册表项是与文件夹类似的容器对象。 注册表值是与文件类似的非容器对象。键可能包含值或其他键。 使用类似于Windows路径名称的语法来引用键,并使用反斜杠来指示层次结构的级别。 本章介绍查询值,添加,删除和编辑
我正在使用Spring Batch Admin从我的主项目的批处理模块中启动批处理。 在Spring batch Admin项目的依赖项中,将批处理模块编译为JAR addedstrong文本,如下所示: 因为我在一个reader类上添加了“@stepscope”,所以在部署Spring Batch Admin时,我会遇到以下错误 但是我没有找到如何使用类似的声明来防止Spring Batch A
前言 sender的run 调用done方法,并传入TimeoutException
主要内容:重定向输出(Stdout和Stderr),抑制程序输出有三个键盘输入的通用“文件”,在屏幕上打印文本和在屏幕上打印错误。 标准输入文件(stdin)包含程序/脚本的输入。 标准输出(Standard Out)文件(stdout)被用来写输出以显示在屏幕上。 最后一种叫作的“标准错误”文件包含用于显示在屏幕上的任何错误消息。 这三个标准文件中的每一个(也称为标准流)分别使用数字,和进行引用。Stdin是文件,stdout是文件,stderr是文件。 重
在META-INF/Services中,添加了javax.annotation.processing.processor条目,指定自定义注释处理器类。