Ich habe gerade ein neues Projekt auf Android Studio 3.2 Canary 16 mit aktiviertem Kotlin erstellt. Dann habe ich auch die Datenbindung aktiviert, aber es wird eine Fehlermeldung angezeigt, dass die DataBindingComponent-Klasse nicht gefunden werden konnte.
Hier ist mein Projekt gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.41'
ext.android_plugin_version = '3.2.0-alpha10'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha16'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Meine Modul-Gradle-Datei:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 27
defaultConfig {
applicationId "net.julianonunes.myapp"
minSdkVersion 22
targetSdkVersion 27
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dataBinding {
enabled = true
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.android.support:design:27.1.1'
kapt "com.android.databinding:compiler:3.1.2"
}
Die XML meiner Aktivität:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="data"
type="net.julianonunes.myapp.RegisterData" />
</data>
....
</layout>
Und hier ist die Build-Ausgabe:
Executing tasks: [clean, :app:assembleDebug]
Configuration on demand is an incubating feature.
> Configure project :app
app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'androidx.databinding:databinding-compiler:3.2.0-alpha16'.
> Task :clean
> Task :app:clean
> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:compileDebugRenderscript
> Task :app:checkDebugManifest
> Task :app:generateDebugBuildConfig
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:mainApkListPersistenceDebug
> Task :app:generateDebugResValues
> Task :app:generateDebugResources
> Task :app:mergeDebugResources
> Task :app:createDebugCompatibleScreenManifests
> Task :app:processDebugManifest
> Task :app:splitsDiscoveryTaskDebug
> Task :app:processDebugResources
> Task :app:generateDebugSources
> Task :app:dataBindingExportBuildInfoDebug
> Task :app:transformDataBindingBaseClassLogWithDataBindingMergeGenClassesForDebug
> Task :app:transformDataBindingWithDataBindingMergeArtifactsForDebug
> Task :app:dataBindingGenBaseClassesDebug
Download https://dl.google.com/dl/android/maven2/com/android/databinding/compiler/3.1.2/compiler-3.1.2.pom
Download https://dl.google.com/dl/android/maven2/com/android/databinding/compiler/3.1.2/compiler-3.1.2.jar
> Task :app:kaptGenerateStubsDebugKotlin
e: /home/juliano/Documents/Projetos/myapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/net/julianonunes/myapp/databinding/ActivityMainBinding.java:28: error: cannot find symbol
protected ActivityMainBinding(DataBindingComponent _bindingComponent, View _root,
^
symbol: class DataBindingComponent
location: class ActivityMainBinding
e: /home/juliano/Documents/Projetos/myapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/net/julianonunes/myapp/databinding/ActivityMainBinding.java:46: error: cannot find symbol
@Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
^
symbol: class DataBindingComponent
location: class ActivityMainBinding
e: /home/juliano/Documents/Projetos/myapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/net/julianonunes/myapp/databinding/ActivityMainBinding.java:57: error: cannot find symbol
@Nullable DataBindingComponent component) {
^
symbol: class DataBindingComponent
location: class ActivityMainBinding
e: /home/juliano/Documents/Projetos/myapp/app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/net/julianonunes/myapp/databinding/ActivityMainBinding.java:68: error: cannot find symbol
@Nullable DataBindingComponent component) {
^
symbol: class DataBindingComponent
location: class ActivityMainBinding
e: [kapt] An exception occurred: java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:77)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:203)
at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:188)
at android.databinding.annotationprocessor.ProcessDataBinding.doProcess(ProcessDataBinding.java:90)
at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:65)
at org.jetbrains.kotlin.kapt3.ProcessorWrapper.process(annotationProcessing.kt:131)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068)
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:87)
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:45)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:257)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:212)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:95)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:97)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:84)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:374)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:64)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:101)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:365)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:130)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:161)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:63)
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:96)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:405)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:98)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:920)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:98)
at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:950)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:919)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:404)
at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
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)
> Task :app:kaptDebugKotlin FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.7/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 8s
20 actionable tasks: 19 executed, 1 up-to-date
Was ist los mit meinem Projekt?
PS: Das Problem tritt auch unter Android Studio 3.1.2 auf
android
kotlin
android-databinding
Juliano Nunes Silva Oliveira
quelle
quelle
android.databinding.enableV2=false android.enableExperimentalFeatureDatabinding = false
. Hinzufügen, umgrade.properties
mein Problem zu lösenAntworten:
Datenbindungsbibliotheken werden im Rahmen des Androidx-Refactorings überarbeitet.
Ich habe hier den Link zur Abhängigkeit des Datenbindungs-Annotationsprozessors aus dem Maven-Repository von Google gefunden .
Ich habe die tatsächliche Gradle-Abhängigkeit von dort konstruiert.
Update Ab Android Studio 3.2.0-beta01 muss für die Datenbindung die Abhängigkeit des Anmerkungsprozessors nicht mehr in der Gradle-Datei deklariert werden, da die Datenbindung ihre Abhängigkeit auflösen kann.
quelle
Mit dem folgenden Setup
Und DataBinding wird einfach aktiviert, indem Sie dies in meiner App build.gradle haben
und dann
und auch das in meinen gradle.wrapper Eigenschaften
Ich hatte die gleichen Fehler:
Ich hatte mehr als 100 davon. Es stellte sich heraus, dass diese Fehler nicht wichtig waren und dass der wahre zugrunde liegende Fehler von der IDE nicht angezeigt wurde. Daher habe ich die Anzahl der Fehler erhöht, die der Kotlin-Compiler anzeigen kann, indem ich diese in build.gradle hinzufügte:
Plötzlich, direkt unter all diesen falschen Fehlern, sah ich den echten, der durch eine fehlgeschlagene Lösung von Zusammenführungskonflikten verursacht wurde 😔
quelle
Löschen Sie einfach die Compiler-Abhängigkeit (kapt "com.android.databinding: compiler: $ gradleVersion), die für mich funktioniert hat. Anscheinend ist sie mit einem Bindungs-Plugin ab 3.2.0 ausgestattet.
quelle
Wenn Sie bereits eine stabile Version von Android Studio 3.2 verwenden , entfernen Sie einfach die Abhängigkeit, sie ist bereits enthalten.
quelle
Caused by: java.lang.NullPointerException at java.io.File.<init>(File.java:277) at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:77) at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:203) at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:188) ...
Gleicher Fehler hier auf Android Studio 3.3.1, kein Kotlin, reines Java, mit Androidx
build.gradle enthält
gradle.properties enthält
Ich habe stundenlang gegen das Problem gekämpft und es dann wie folgt gelöst:
Deklarieren Sie vorübergehend eine leere Schnittstelle für DataBindingComponent in Ihrem Projekt (in
src/main/java/androidx.databinding/DataBindingComponent.java
).Lassen Sie es kompilieren und der Fehler wird verschwunden sein. Aber jetzt wird der eigentliche Grundfehler aufgedeckt. Derjenige, der tatsächlich den ganzen Ärger verursachte, aber irgendwie verschluckt wurde. In meinem Fall kam es von AutoValue und zeigte an, dass ich es falsch verwendet habe
Das zu beheben und dann die Dummy-Schnittstelle zu entfernen, macht den Compiler wieder glücklich.
quelle
Für das, was es wert ist, hatte ich ein ähnliches Problem und es war das Ergebnis einer schlechten Raumabfrage, die sich auf eine Datenbindung bezog.
quelle
ArrayList
als Rückkehr zu einer Abfrage verwendet, bei der es sich um eine handeln mussList
.In meinem Fall war es eine schlechte Dolchanmerkung. Ich habe einem Modul einen benutzerdefinierten Bereich zugewiesen, anstatt ihn einer Bereitstellungsmethode zuzuweisen.
¯\_(ツ)_/¯
quelle
Ich hatte das gleiche Problem.
Das Ändern
Kapt
aufannotationProcessor
nur für DataBinding hat das Problem für mich behoben.quelle
Ich bin mit diesem Problem konfrontiert, wenn ich auf Android Studio 3.2 aktualisiere. Ich ändere das Gradle-Plugin von 3.2.0 auf 3.1.4 und es funktioniert einwandfrei.> Ich denke, es ist ein Gradle-Problem. Es wird mit Sicherheit sehr bald aktualisiert
quelle
Dolch kann auch die Ursache sein.
Durch Ändern der Dolchversion von 2.17 auf 2.16 kann dieses Problem vorerst behoben werden.Diskussion: https://github.com/google/dagger/issues/1245
AktualisierenDolch 2.18 ist raus, aber leider funktioniert es nach dem Testen immer noch nicht (Habe ich etwas verpasst?).Update2Dolch 2.19 funktioniert auch nicht und die Diskussion ist gesperrt.Aber in der Google-Ausgabe gibt es Lösungen / Problemumgehungen. Ich habe getestet und sie haben funktioniert. Überprüfen Sie, ob Sie den neuesten Dolch verwenden möchten.Update3
Das Dolchproblem wurde in Android Studio 3.3 behoben.
quelle
Ich habe mein Problem endlich behoben, weil ich Android Annotations verwendet habe und sie vor 1 Stunde eine neue Version 4.5.1 veröffentlicht haben, in der sie Grade Plugin 3.2.0 unterstützen.
Ich habe eine Woche lang nach diesem Fehler gesucht und bin jetzt glücklich. Hoffe das hilft dir auch!
quelle
Mein Problem war, dass ich versucht habe, die Datenbindung für mein
Login
Modul zu aktivieren, aber nicht für dasApp
Modul. Nach dem Hinzufügen:zum
App
Modul und entfernte es aus demLogin
Modul, es funktionierte.quelle
Ich habe es
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
mit und ohne explizite Abhängigkeit versuchtkapt "androidx.databinding:databinding-compiler:3.3.0-alpha06"
Und immer noch die gleiche Ausnahme.
Ich habe auch 3.3.0-alpha06 ausprobiert, aber nichts hat sich geändert.
UPDATE: Nach 2 Tagen habe ich das Problem behoben. Ich habe alle Dateien, die aufgrund der Migration auf AndroidX Probleme hatten, manuell behoben (falsche Pakete bei Importen und XMLs usw.). Außerdem musste ich Glide von 4.7 auf 4.8 aktualisieren. Als ich alle roten Dateien repariert habe, ist das Problem verschwunden.
quelle
Das ist mein dümmster Fehler! Ich habe tatsächlich eine private Variable für die Datenbindung erstellt, die dieses Problem verursacht hat.
Verwenden
lateinit var binding
Sie einfach ein und es hat funktioniert.Das könnte jemandem helfen!
quelle
Entfernen Sie einfach die kapt-Abhängigkeit "com.android.databinding ...". Wenn Sie Android Studio 3.2 oder eine höhere Version verwenden.
quelle
In meinem Fall, wenn Sie das Dynamic Feature Module verwenden:
Dies muss sowohl für Root- als auch für untergeordnete Gradle-Dateien aktiviert sein (vergessen Sie nicht, das kapt-Plugin hinzuzufügen).
quelle
Ich behebe es, Android Studio auf Canary 16 zu aktualisieren UND dies in gradle.wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip
quelle
Ich habe den Fehler durch Hinzufügen behoben
in der gradle.properties-Datei meines Projekts
quelle
android.useAndroidX:
Wenntrue
diese Option aktiviert ist , zeigt dieses Flag an, dass Sie AndroidX ab sofort verwenden möchten. Wenn das Flag nicht vorhanden ist, verhält sich Android Studio , als ob das Flag auf gesetzt wurdefalse
.android.enableJetifier:
Wenntrue
diese Option aktiviert ist, bedeutet dies, dass Sie Tool-Unterstützung (über das Android Gradle-Plugin) benötigen, um vorhandene Bibliotheken von Drittanbietern automatisch so zu konvertieren, als wären sie für AndroidX geschrieben worden. Wenn das Flag fehlt, verhält sich Android Studio so, als ob das Flag auf gesetzt wärefalse
.In meinem Fall wurde das Problem durch Ändern behoben :
(dh Gradle DSL als Einzeiler)
zu
abgesehen davon hatte
could not find the DataBindingComponent class
ich aucherror: incompatible types: NonExistentClass cannot be converted to Annotation
mitkotlinx.android.parcel.Parcelize
annotation verbunden (@Parcelize)Android Studio 3.3; Gradle-4.10.1-all; tools.build:gradle 3.3.0
quelle
Hatte das gleiche Problem beim Importieren einer Klasse in die Datenbindung, das es nicht gab. Auch verwenden
zum Empfangen aller Fehlermeldungen, um das Problem zu finden. Für mein Projekt war es auf 50 begrenzt.
quelle
Bei mir ist ein Fehler in meiner Layoutdatei aufgetreten. Ich habe auf eine Funktion verwiesen, die nicht vorhanden war.
android:text="@{() -> sleepTrackerViewModel.nightStrings}"
Unten ist die Lösung:
android:text="@{sleepTrackerViewModel.nightStrings}"
quelle
Noch etwas zu versuchen :) Ich habe versucht, das GithubBrowserSample in Android Studio 3.2 (RC3) zu bekommen. Ich habe immer wieder viele seltsame Fehler bei der Datenbindung erhalten, obwohl keine Datenbindungsversionen im Haupt-Build.gradle angegeben sind. Die Lösung bestand darin , diese beiden Zeilen aus den gradle.properties zu entfernen :
quelle
Meine Situation:
Ich habe festgestellt, dass dieses Problem behoben wurde, indem die Datenbindung aus meinem Layout entfernt, die App neu kompiliert und dann die Datenbindung wieder hinzugefügt wurde.
Ich habe das
DataBindingUtil.setContentView(...)
auf "Just" geändertsetContentView(...)
und mein Aktivitätslayout auf das Nötigste reduziert:Fügen Sie dann die Datenbindung Stück für Stück wieder hinzu.
quelle
In meinem Fall ist in einer der Dateien ein Importfehler aufgetreten . Durch einfaches Öffnen dieser Datei wurden die Importe automatisch ausgeführt, und danach wurde das Projekt erstellt.
Es ist schade, dass AS dies nicht angegeben hat, ebenso wenig wie die Fehlerverfolgung.
Falls nichts von der veröffentlichten Antwort hilft - surfen Sie einfach durch alle Dateien im Projekt und suchen Sie nach einer Datei mit einer falschen Importanweisung.
quelle
Es ist ein Fehler im Jetifier. Hier ist eine Problemumgehung für den Moment bis zum nächsten Update. Fügen Sie dies in Ihr Projekt ein:
quelle
Wenn Sie eine Datenraumbibliothek verwenden, überprüfen Sie die @ Dao-Annotation in Ihren DAO-Klassen. In meinem Fall habe ich vergessen, @Dao zu meiner Oberfläche von RoomDatabase'Dao hinzuzufügen.
quelle
Erstellungsfehler für generierte Schnittstellen wie
DataBindingComponent
sind normalerweise irreführend. Versuchen Sie, nach anderen Build-Fehlern zu suchen, diese zuerst zu beheben und dann neu zu kompilieren.quelle
Ich musste folgenden Import aus Gradle entfernen,
Auch wenn es ein seltsames Problem ist: Versuchen Sie einfach, unnötige Importe zu entfernen, es sollte funktionieren.
quelle
Wenn Sie mit Room Database arbeiten, überprüfen Sie alle Ihre Dao-Klassen, wenn Sie ein Importproblem haben oder nicht den erforderlichen TypeConverter verwenden
@TypeConverters
. Dieser Fehler ist irreführend und sollte behoben werden, wenn Sie die Version der Gradle Build Tools auf Projektebene auf den neuesten Stand bringen. Ichclasspath 'com.android.tools.build:gradle:3.4.0'
habe Fehler richtig verwendet und bekommen.quelle
In meinem Fall gab es einen Fehler in der Raumdatenbank-Elementklasse ... Der Fehler betraf den privaten Modifikator, der für Mitgliedsvariablen der Raumdatenbank-Elementklasse öffentlich sein sollte.
Verwenden und untersuchen Sie die Befehlszeile ./gradlew assembleDebug , um die Stapelverfolgung anzuzeigen .
#Room #Datenbank #Tabellenklasse #DAO
quelle