android / sunflower

A gardening app illustrating Android development best practices with migrating a View-based app to Jetpack Compose.
https://d.android.com/jetpack
Apache License 2.0
17.65k stars 4.7k forks source link

Compiler Error #104

Closed hiseholuwa closed 6 years ago

hiseholuwa commented 6 years ago

Hi, I am pretty new to Kotlin as a development language for Android and I decided to give it a try with this sample app especially since it also introduces me to the Android Jetpack set of libraries and components. I, unfortunately, cannot seem to get it to build once I clone it into my Android Studio. I keep getting the following error and I can't seem to fix it.

 Task :app:kaptGenerateStubsDebugKotlin UP-TO-DATE
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ActivityGardenBinding.java:29: error: cannot find symbol
  protected ActivityGardenBinding(DataBindingComponent _bindingComponent, View _root,
                                  ^
  symbol:   class DataBindingComponent
  location: class ActivityGardenBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ActivityGardenBinding.java:47: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class ActivityGardenBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ActivityGardenBinding.java:58: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ActivityGardenBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ActivityGardenBinding.java:67: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ActivityGardenBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantDetailBinding.java:49: error: cannot find symbol
  protected FragmentPlantDetailBinding(DataBindingComponent _bindingComponent, View _root,
                                       ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantDetailBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantDetailBinding.java:79: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantDetailBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantDetailBinding.java:90: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantDetailBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantDetailBinding.java:99: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantDetailBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantListBinding.java:17: error: cannot find symbol
  protected FragmentPlantListBinding(DataBindingComponent _bindingComponent, View _root,
                                     ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantListBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantListBinding.java:31: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantListBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantListBinding.java:42: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantListBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\FragmentPlantListBinding.java:51: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class FragmentPlantListBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemGardenPlantingBinding.java:29: error: cannot find symbol
  protected ListItemGardenPlantingBinding(DataBindingComponent _bindingComponent, View _root,
                                          ^
  symbol:   class DataBindingComponent
  location: class ListItemGardenPlantingBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemGardenPlantingBinding.java:52: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class ListItemGardenPlantingBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemGardenPlantingBinding.java:63: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ListItemGardenPlantingBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemGardenPlantingBinding.java:72: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ListItemGardenPlantingBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemPlantBinding.java:29: error: cannot find symbol
  protected ListItemPlantBinding(DataBindingComponent _bindingComponent, View _root,
                                 ^
  symbol:   class DataBindingComponent
  location: class ListItemPlantBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemPlantBinding.java:58: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class ListItemPlantBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemPlantBinding.java:69: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ListItemPlantBinding
e: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\generated\data_binding_base_class_source_out\debug\dataBindingGenBaseClassesDebug\out\com\google\samples\apps\sunflower\databinding\ListItemPlantBinding.java:78: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class ListItemPlantBinding
w: C:\Users\hiseh\Documents\Android Studio Projects\android-sunflower\app\build\tmp\kapt3\stubs\debug\com\google\samples\apps\sunflower\data\GardenPlanting.java:15: warning: plant_id column references a foreign key but it is not part of an index. This may trigger full table scans whenever parent table is modified so you are highly advised to create an index that covers this column.
public final class GardenPlanting {
             ^
e: [kapt] An exception occurred: java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open_utf8([BI)V
    at org.sqlite.core.NativeDB._open_utf8(Native Method)
    at org.sqlite.core.NativeDB._open(NativeDB.java:71)
    at org.sqlite.core.DB.open(DB.java:174)
    at org.sqlite.core.CoreConnection.open(CoreConnection.java:220)
    at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76)
    at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:25)
    at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24)
    at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
    at org.sqlite.JDBC.createConnection(JDBC.java:114)
    at android.arch.persistence.room.verifier.DatabaseVerifier$Companion.create(DatabaseVerifier.kt:71)
    at android.arch.persistence.room.processor.DatabaseProcessor.doProcess(DatabaseProcessor.kt:76)
    at android.arch.persistence.room.processor.DatabaseProcessor.process(DatabaseProcessor.kt:53)
    at android.arch.persistence.room.RoomProcessor$DatabaseProcessingStep.process(RoomProcessor.kt:57)
    at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:318)
    at com.google.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:171)
    at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:99)
    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.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:55)
    at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:27)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:216)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:164)
    at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:93)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:98)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:108)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:85)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:370)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:61)
    at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:101)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:361)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:126)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:51)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:95)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:50)
    at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:88)
    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:927)
    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:957)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:926)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:404)
    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)

> Task :app:kaptDebugKotlin FAILED

FAILURE: Build failed with an exception.

I have tried looking up resources online but can't seem to find anything to point me in the right direction. Any and all help will be appreciated. Thanks!

tiembo commented 6 years ago

Which version of Android Studio are you using?

hiseholuwa commented 6 years ago

Version 3.1.3

tiembo commented 6 years ago

You'll need to use the 3.2 version of Android Studio: https://developer.android.com/studio/preview/

hiseholuwa commented 6 years ago

Oh alright, I'll try that. Thanks for your help @tiembo!

kobeumut commented 5 years ago

Hey @tiembo i am using 3.2.1 and i have the same problem.

tiembo commented 5 years ago

Hi @kobeumut can you try File -> Invalidate Caches / Restart? Also, does it happen just in Android Studio, or does it also show the same error when running Gradle via the command line?

vorobyoffcv commented 5 years ago

Hi all. It seems like there is no com.google.samples.apps.sunflower.databinding.ActivityGardenBinding. Just look at sources on git

vorobyoffcv commented 5 years ago

Hi @tiembo It seems like there is no com.google.samples.apps.sunflower.databinding.ActivityGardenBinding. Just look at sources on git. thanx!

Flame239 commented 5 years ago

@vorobyoffcv Late reply, but still: just ./gradlew build first :)

jimandreas commented 3 years ago

If you are building on Windows 7 - be aware that there is a path length limitation. The databinding path in the build folder gets pretty long. For example:

C:\a\j\samples\aakoco\advco\finished_code\build\generated\data_binding_base_class_source_out\debug\out\com\example\android\advancedcoroutines\databinding\FragmentPlantListBinding.java

That "data_binding_base_class_source_out" can push the path over the edge if your base folder for your project is also long. I have moved to basing my

projects to C:\a to try to work around this Windows 7 issue.

https://stackoverflow.com/a/34680168