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))
}
}
android unit-testing data-binding kotlin android-databinding
Trevor Wang Mar 09 '17 at 10:15 2017-03-09 10:15
source share