J'essaie d'ajouter Realm à un projet Android, j'ai ajouté le niveau du projet. classpath
dépendance, mais en mettant le
apply plugin: "realm-android"
ligne dans mon module "s build.gradle
résultat de fichier dans l'erreur de construction suivante:
Error:Execution failed for task ":data:compileDebugAndroidTestJavaWithJavac".
java.lang.NoClassDefFoundError:
org/jetbrains/kotlin/annotation/AnnotationProcessorWrapper
Sans cette ligne, l'application est construite et fonctionne correctement, il n'y a pas encore de code Realm.
Niveau de projet build.gradle:
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
buildscript {
ext.kotlin_version = "1.0.6"
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:2.2.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "io.realm:realm-gradle-plugin:2.3.0"
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Module build.gradle:
apply plugin: "com.android.library"
apply plugin: "kotlin-android"
apply plugin: "realm-android"
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
sourceSets {
main.java.srcDirs += "src/main/kotlin"
test {
java.srcDirs = ["src/test/kotlin"]
}
}
}
buildscript {
ext.kotlin_version = "1.0.6"
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
kapt {
generateStubs = true
}
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile project(path: ":domain")
compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.6"
compile "io.reactivex:rxjava:1.1.6"
compile "io.reactivex:rxkotlin:0.60.0"
compile "javax.inject:javax.inject:1"
testCompile "junit:junit:4.12"
testCompile "org.mockito:mockito-core:2.6.3"
testCompile "com.nhaarman:mockito-kotlin:1.1.0"
}
Réponses:
4 pour la réponse № 1Pour fermer cette question: Le commentaire écrit par @ zaki50 a fonctionné pour moi, à savoir:
Ajouter apply plugin: "kotlin-kapt"
sur app / build.gradle. Je l'ai ajouté juste après apply plugin: "kotlin-android"
.
Ce problème est suivi par https://github.com/realm/realm-java/issues/4087