Я пытаюсь использовать базу данных Realm в своем проекте, который я добавляю
classpath "io.realm:realm-gradle-plugin:5.9.0"
в build.gradle
и
apply plugin: 'realm-android'
к модулю build.gradle, после нажатия на синхронизацию я получаю эту ошибку:
Configuration with name 'kapt' not found.
build.gradle содержание:
buildscript {
ext.kotlin_version = '1.3.21'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
classpath 'com.novoda:bintray-release:0.9'
classpath "io.realm:realm-gradle-plugin:5.9.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
build.gradle содержание модуля:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.jakewharton.hugo'
apply plugin: 'com.novoda.bintray-release'
apply plugin: 'realm-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 28
defaultConfig {
applicationId "xx.xxxxx.xxxxxxxx"
minSdkVersion 21
versionCode 1
versionName "1"
vectorDrawables.useSupportLibrary = true
multiDexEnabled = true
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
}
dataBinding {
enabled = true
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/rxjava.properties'
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
/* IMPORTANT :
* Be careful when update dependencies, different version library may caused error */
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:support-v13:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
// google maps library ------------------------------------------------------------------------
implementation 'com.google.android.gms:play-services:12.0.1'
// google gson --------------------------------------------------------------------------------
implementation 'com.google.code.gson:gson:2.8.4'
// third party dependencies
implementation 'com.github.smart-fun:TabStacker:1.0.4'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.jetbrains:annotations-java5:15.0' // add this line
implementation 'com.fatboyindustrial.gson-jodatime-serialisers:gson-jodatime-serialisers:1.2.0'
implementation 'com.github.armcha:AutoLinkTextView:0.3.0'
implementation "com.github.bumptech.glide:glide:4.8.0"
annotationProcessor "com.github.bumptech.glide:compiler:4.8.0"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.2.0'
implementation 'com.google.dagger:dagger:2.15'
annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
implementation 'com.google.dagger:dagger-android:2.15'
implementation 'com.google.dagger:dagger-android-support:2.10'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.10'
implementation 'com.google.code.gson:gson:2.8.4'
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation('io.socket:socket.io-client:1.0.0') {
exclude group: 'org.json', module: 'json'
}
implementation 'com.birbit:android-priority-jobqueue:2.0.1'
implementation 'com.github.onehilltech.concurrent:concurrent-android:0.8.1'
implementation 'com.balysv.materialmenu:material-menu:2.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
implementation 'com.blankj:utilcode:1.22.10'
implementation 'com.ncapdevi:frag-nav:3.0.0'
implementation 'com.daimajia.easing:library:1.0.0@aar'
implementation 'com.daimajia.androidanimations:library:1.1.2@aar'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'org.parceler:parceler-api:1.1.8'
annotationProcessor 'org.parceler:parceler:1.1.8'
implementation 'com.squareup.retrofit2:retrofit:2.2.0'
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.3.0'
implementation 'com.pnikosis:materialish-progress:1.7'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation project(path: ':bottomsheet-commons')
implementation 'org.jsoup:jsoup:1.9.2'
kapt "io.realm:realm-annotations-processor:5.9.0"
}
kapt {
correctErrorTypes = true
}
repositories {
mavenCentral()
}
configurations {
cleanedAnnotations
compile.exclude group: 'org.jetbrains', module: 'annotations'
}
У меня была такая же проблема, но мне не хватало линии
apply plugin: 'kotlin-kapt'
После недолгих попыток я обнаружил, что добавление строки доapply plugin: 'realm-android' работает для меня.
В моем случае верхняя часть моего рабочего build.gradle выглядит так:
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
Поэтому, пожалуйста, попробуйте следующее:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.jakewharton.hugo'
apply plugin: 'com.novoda.bintray-release'
apply plugin: 'realm-android'
И если это не сработает, попробуйте переместить строку прямо над строкой плагина apply realm (т. е. под плагинами Hugo и Bintray).
Мне понравилось это слово before :P
Не заметил и использовал apply plugin: 'com.android.library', что сломало мою сборку, обязательно используйте apply plugin: 'com.android.application', если это приложение
с более новыми версиями студии Android во внутреннем разделе плагинов. плагины { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt'}
столкнулся с той же проблемой, проект был на git, я просто нажал на кнопку, и возникла проблема, что Kapt() не нашел.
Исправлено: очистить кеш и перезапустить/добавить примените плагин: «kotlin-kapt» вверху / проект синхронизации
Попробуйте поставить:
apply plugin: 'kotlin-kapt'
до:
apply plugin: 'realm-android'
У меня была такая же проблема, и это сработало для меня
Если вы используете какую-либо версию Android Studio ArcticFox, есть новый способ объявления этих плагинов. Это происходит на вашем build.gradle (уровень приложения)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'realm-android'
}
android {
....
}
realm {
syncEnabled = true
}
dependencies {
....
}
И не забудьте build.gradle (уровень проекта)
buildscript {
ext.kotlin_version = "1.6.0"
ext.realm_version = '10.8.1'
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' }
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:7.0.3"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "io.realm:realm-gradle-plugin:$realm_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Realm.io должна иметь эту инструкцию на своем сайте. Это нонсенс, что мы должны расспрашивать здесь и находить решения.