Android databinding unit test Error Failed to parse the data binding compiler settings. Params:

When I try to configure unit test for my kotlin android project, I met the following error. Has anyone encountered such a problem before?

This was flagged as a bug in the official bug tracker.

     FAILURE: Build failed with an exception.  * What went wrong: Execution failed for task ': app: compileDebugUnitTestJavaWithJavac'.  > java.lang.RuntimeException: Failed to parse data binding compiler options.  Params: kapt.annotations: /Users/trevor/Dev/Android/workspace/gitlab-example/app/build/tmp/kapt/debugUnitTest/wrappers/annotations.debugUnitTest.txt kapt.kotlin.generated: / Users / trevor / Dev / Android / workspace / gitlab-example / app / build / tmp / kapt / debugUnitTest / kotlinGenerated * Try: Run with --info or --debug option to get more log output.  * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ': app: compileDebugUnitTestJavaWithJavac'.  at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:84) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute (ExecuteActionsTaskExecuter.gava:55 .api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute (SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute at ValidatingTaskExecuter.javavern.javavern .tasks.execution.SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySourceFilesTaskExecuter.java:88) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute (ResolveTaskArtecetchececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececececactececececececececececececececececececactececececececececececececececececececececececececececececececececececececececececececececececececececececececec .SkipTaskWithNoActionsExecuter.execute (SkipTaskWithNoActionsExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute (SkipOnlyIfTaskExecuter.java:54) at org.gradt..  kExecuter.execute (ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute (CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecute $ $ .java: 236) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.execute (DefaultTaskGraphExecuter.java:228) at org.gradle.internal.Transformers $ 4.transform (Transformers.java:169) at org.gradle. internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:106) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:61) at org.gradle.execution.taskgraphGececTecaskTecaskTecector java: 228) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:215) at org.gradle.execution.taskgraph.AbstractTaskP  lanExecutor $ TaskExecutorWorker.processTask (AbstractTaskPlanExecutor.java:77) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor $ TaskExecutorWorker.run (AbstractTaskPlanExecutor.java:58) at org.gradle.executor.taskp 32) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute (DefaultTaskGraphExecuter.java:113) at org.gradle.execution.SelectedTaskExecutionAction.execute (SelectedTaskExecutionAction.java:37) at org.gradle.execececuterBefaultBault .java: 37) at org.gradle.execution.DefaultBuildExecuter.access $ 000 (DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter $ 1.proceed (DefaultBuildExecuter.java:43) at org.gradle.execution.DryRunBuildExecution execute (DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute (DefaultBuildExecuter.java:37) at org.gradle.execution.DefaultBuildExecuter.execute (DefaultBuildExecuter.jav  a: 30) at org.gradle.initialization.DefaultGradleLauncher $ 3.execute (DefaultGradleLauncher.java:196) at org.gradle.initialization.DefaultGradleLauncher $ 3.execute (DefaultGradleLauncher.java:193) at org.gradle.internal.Trans. transform (Transformers.java:169) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:106) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:56) .initialization.DefaultGradleLauncher.doBuildStages (DefaultGradleLauncher.java:193) at org.gradle.initialization.DefaultGradleLauncher.doBuild (DefaultGradleLauncher.java:119) at org.gradle.initialization.DefaultGradleLa. gradle.launcher.exec.GradleBuildController.run (GradleBuildController.java:71) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run (ExecuteBuildActionRunner.java:28) at org.gradle.launcherunerrexecction Chain  ingBuildActionRunner.java:35) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute (InProcessBuildActionExecuter.java:41) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute (InProcessBuildavactionExleec2626 .internal.provider.ContinuousBuildActionExecuter.execute (ContinuousBuildActionExecuter.java:75) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute (ContinuousBuildActionExecuter.java:49) at org.gradleternalSereceruperupeceruperupeceruperupeceruperupecerupereceruperecerupereceruperupecerupereceruperereceruperecterecerupererecerupeceruperer (ServicesSetupBuildActionExecuter.java:44) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute (ServicesSetupBuildActionExecuter.java:29) at org.gradle.launcher.daemon.server.exec.ExecuteBildilduildilduild ) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute (BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120)  t org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute (WatchForDisconnection.java:47) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gradle .launcher.daemon.server.exec.ResetDeprecationLogger.execute (ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gda .server.exec.RequestStopIfSingleUsedDaemon.execute (RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed.aleon.erle.erle.erle.erleer.erleer.erleer.erl.em.erleer.erlaer.er.leer.server.deleem.er.erlov.er .ForwardClientInput $ 2.call (ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput $ 2.call (ForwardClientInput.java:72) at org.gradle.util.Swapper.swap (Swapper.java : 38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute (ForwardClientInput.java:72) at org.gradle.launche  r.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute (LogAndCheckHealth.java:55) at org.gradle.la server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild (LogToClient.java:60) at org.gradle.launcher.daemon.server.exec. BuildCommandOnly.execute (BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (DaemonCommandExecution.java:120) at org.gradle.launcher.daemon.server.execildBuild EstablishBuildEnvironment.java:72) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute (BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed (Da 120) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy $ 1.run (StartBuildOrRespondWithBusy.java:50) at org.gradle  .launcher.daemon.server.DaemonStateCoordinator $ 1.run (DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:54) at org.gradle.internal.poptable.internal.internal.inplable.internal.pop .run (StoppableExecutorImpl.java:40) Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Failed to parse data binding compiler options.  Params: kapt.annotations: /Users/trevor/Dev/Android/workspace/gitlab-example/app/build/tmp/kapt/debugUnitTest/wrappers/annotations.debugUnitTest.txt kapt.kotlin.generated: / Users / trevor / Dev / Android / workspace / gitlab-example / app / build / tmp / kapt / debugUnitTest / kotlinGenerated at com.sun.tools.javac.main.Main.compile (Main.java∗53) at com.sun.tools.javac. api.JavacTaskImpl.doCall (JavacTaskImpl.java:129) at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:138) at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.ecec JdkJavaCompiler.java:46) at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute (JdkJavaCompiler.java:33) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleEavarors (Normal 104) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute (NormalizingJavaCompiler.java:53) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute (NormalizingJavaCompiler.java:38) at org .gradle  .api.internal.tasks.compile.CleaningJavaCompilerSupport.execute (CleaningJavaCompilerSupport.java:35) at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute (CleaningJavaCompilerSupport.java:25) at org.gradasks .compile.JavaCompile.performCompilation (JavaCompile.java:206) at org.gradle.api.tasks.compile.JavaCompile.compile (JavaCompile.java:187) at org.gradle.api.tasks.compile.JavaCompile.compile (JavaCompile .java: 130) at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile (AndroidJavaCompile.java:49) at org.gradle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73) at org. gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ IncrementalTaskAction.doExecute (DefaultTaskClassInfoStore.java:163) at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute. Default gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute (DefaultTa  skClassInfoStore.java:123) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction (ExecuteActionsTaskExecuter.java:95) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter right 76) ... 70 more Caused by: java.lang.RuntimeException: Failed to parse data binding compiler options.  Params: kapt.annotations: /Users/trevor/Dev/Android/workspace/gitlab-example/app/build/tmp/kapt/debugUnitTest/wrappers/annotations.debugUnitTest.txt kapt.kotlin.generated: / Users / trevor / Dev / Android / workspace / gitlab-example / app / build / tmp / kapt / debugUnitTest / kotlinGenerated at android.databinding.annotationprocessor.ProcessDataBinding.readArguments (ProcessDataBinding.java:159) at android.databinding.annotationprocessor.ProcessDataBinding.ata. java: 65) at org.jetbrains.kotlin.annotation.AnnotationProcessorWrapper.process (AnnotationProcessorWrapper.kt: 129) at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.javaun794 .javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:705) at com.sun.tools.javac.processing.JavacProcessingEnvironment.access $ 1800 (JavacProcessingEnvironment.java:91process.jrocess.j.process.sjun.process.sjun.process.sjun.process.sjav.jun.process.jav:unprocess.jav:unprocess.sjav Round.run (JavacPro  cessingEnvironment.java:1035) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1176) at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java .sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:856) at com.sun.tools.javac.main.Main.compile (Main.java∗23) ... 89 more Caused by: java. lang.NumberFormatException: null at android.databinding.tool.DataBindingCompilerArgs.readFromOptions (DataBindingCompilerArgs.java:92) at android.databinding.annotationprocessor.ProcessDataBinding.readArguments (ProcessDataBinding.java:152) ... 99 more 

My gradle scripts are as follows:

     apply plugin: 'com.android.application'
     apply plugin: 'kotlin-android'

     android {
         compileSdkVersion 25
         buildToolsVersion "25.0.2"
         defaultConfig {
             applicationId "com.example.abce"
             minSdkVersion 15
             targetSdkVersion 25
             versionCode 1
             versionName "1.0"
             testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         }
         buildTypes {
             release {
                 minifyEnabled false
                 proguardFiles getDefaultProguardFile ('proguard-android.txt'), 'proguard-rules.pro'
             }
         }

         dataBinding {
             enabled = true
         }
     }

     kapt {
         generateStubs = true
     }

     dependencies {
         compile fileTree (dir: 'libs', include: ['* .jar'])
         androidTestCompile ('com.android.support.test.espresso: espresso-core: 2.2.2', {
             exclude group: 'com.android.support', module: 'support-annotations'
         })
         compile 'com.android.support:appcompat-v7:25.2.0'
         compile 'com.android.support.constraint: constraint-layout: 1.0.1'

         compile "org.jetbrains.kotlin: kotlin-stdlib: $ kotlin_version"
         kapt "com.android.databinding: compiler: 2.3.0"

         testCompile 'junit: junit: 4.12'
         testCompile "org.jetbrains.kotlin: kotlin-test-junit: $ kotlin_version"
     }
     repositories {
         mavenCentral ()
     }

     buildscript {
         ext.kotlin_version = '1.1.0'
         repositories {
             jcenter ()
         }
         dependencies {
             classpath 'com.android.tools.build:gradle:2.3.0'
             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 {
             jcenter ()
         }
     }

     task clean (type: Delete) {
         delete rootProject.buildDir
     }

     import org.junit.Assert.assertEquals
     import org.junit.Test

     / **
      * Example local unit test, which will execute on the development machine (host).

      * @see [Testing documentation] (http://d.android.com/tools/testing)
      * /
     class ExampleUnitTest {
         @Test
         @Throws (Exception :: class)
         fun addition_isCorrect () {
             assertEquals (4, (2 + 2) .toLong ())
         }

         @Test
         fun additon_isNotCorrect () {
             assertEquals (4, (2 + 3))
         }
     }
+13
android unit-testing data-binding kotlin android-databinding
Mar 09 '17 at 10:15
source share
1 answer

You need to add apply plugin: 'kotlin-kapt' to the gradle application file. Explanations in this article (New experimental annotation processing) https://blog.jetbrains.com/kotlin/2016/09/kotlin-1-0-4-is-here/#sthash.y5NtHdYW.dpuf

+17
Mar 23 '17 at 11:19
source share



All Articles