我一直在努力解决这个烦人的问题,时间太长了,没有任何进展.
我们的应用程序具有大多数用Kotlin编写的类,并且我们也在使用数据绑定:
apply plugin: "kotlin-kapt" apply plugin: 'kotlin-androID' apply plugin: 'kotlin-android-extensions'
尝试运行应用程序时,在构建对话框中会看到以下多个异常(当我说多个时,表示超过50个):
e: .../androID/app/build/generated/source/dataBinding/baseClasses/dev/deBUG/com/company/app/databinding/IncludeFilterheaderTabbuttonBinding.java:21: error: cannot find symbol protected IncludeFilterheaderTabbuttonBinding(DataBindingComponent _bindingComponent, VIEw _root, ^ symbol: class DataBindingComponent location: class IncludeFilterheaderTabbuttonBinding
该应用程序导入了一个完全用Java编写的自制SDK,并且还使用了数据绑定.这样做有什么已知问题吗?
这是主应用程序的依赖项:
implementation 'com.androID.support:support-core-utils:27.1.1' implementation 'com.androID.support:support-annotations:27.1.1' implementation 'com.androID.support.constraint:constraint-layout:1.1.2' implementation 'com.androID.support:appcompat-v7:27.1.1' implementation 'com.androID.support:design:27.1.1' implementation 'com.androID.support:cardvIEw-v7:27.1.1' implementation 'com.androID.support:recyclervIEw-v7:27.1.1' implementation 'com.androID.support:customtabs:27.1.1' implementation 'com.Google.androID.gms:play-services-vision:12.0.1' implementation 'com.Google.androID.gms:play-services-maps:12.0.1' implementation 'com.afollestad.material-dialogs:core:0.9.6.0' implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' implementation 'com.github.bumptech.glIDe:glIDe:4.7.1' kapt 'com.github.bumptech.glIDe:compiler:4.7.1' implementation 'com.github.bumptech.glIDe:compiler:4.7.1' kapt "com.androID.databinding:compiler:3.1.3"implementation 'com.squareup.okhttp3:okhttp:3.9.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0' implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'com.squareup.retrofit2:converter-simplexml:2.3.0' implementation 'com.Google.firebase:firebase-core:12.0.1' implementation 'org.simpleframework:simple-xml:2.7.+' implementation 'net.danlew:androID.joda:2.9.9' implementation 'me.dm7.barcodescanner:zxing:1.9.8' // Home made SDK initialization per flavor and build typeimplementation(name: 'appauth-1.0.2', ext: 'aar') mockDeBUGCompile(name: 'sdk-mock-deBUG', ext: 'aar') mockReleaseCompile(name: 'sdk-mock-release', ext: 'aar') devDeBUGCompile(name: 'sdk-dev-deBUG', ext: 'aar') devReleaseCompile(name: 'sdk-dev-release', ext: 'aar') proDeBUGCompile(name: 'sdk-pro-deBUG', ext: 'aar') proReleaseCompile(name: 'sdk-pro-release', 'ext': 'aar') // TestingtestImplementation 'junit:junit:4.12'androIDTestImplementation('com.androID.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.androID.support', module: 'support-annotations'})implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"// Crashlytics Kitimplementation('com.crashlytics.sdk.androID:crashlytics:2.9.1@aar') { transitive = true}
具有以下版本:
AndroID Studio 3.1.3
摇篮3.1.3
Kotlin Gradle插件1.2.51
当然,我们有
dataBinding { enabled = true}
谢谢!
更新
从./gradlew build –stacktrace添加输出
* Exception is:org.gradle.API.tasks.TaskExecutionException: Execution Failed for task ':app:kaptDevDeBUGKotlin'. at org.gradle.API.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.API.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.API.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.API.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.API.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.API.internal.tasks.execution.ValIDatingTaskExecuter.execute(ValIDatingTaskExecuter.java:60) at org.gradle.API.internal.tasks.execution.SkipEmptySourcefilesTaskExecuter.execute(SkipEmptySourcefilesTaskExecuter.java:97) at org.gradle.API.internal.tasks.execution.CleanupStaleoutputsExecuter.execute(CleanupStaleoutputsExecuter.java:87) at org.gradle.API.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.API.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.API.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.API.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.API.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processtask(DefaultTaskPlanExecutor.java:123) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access0(DefaultTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:104) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:98) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)Caused by: org.gradle.API.GradleException: Compilation error. See log for more details at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:8) at org.jetbrains.kotlin.gradle.internal.KaptTask.compile(KaptTask.kt:124) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.API.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46) at org.gradle.API.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.API.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.API.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:780) at org.gradle.API.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:747) at org.gradle.API.internal.tasks.execution.ExecuteActionsTaskExecuter.run(ExecuteActionsTaskExecuter.java:121) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.API.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110) at org.gradle.API.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92) ... 29 more
更新2
我不得不检查项目中的每个文件,寻找不是gradle记录的错误…并且修复了几个Java文件之后,该错误已从原始的“找不到符号”转移到单个异常:
e: java.util.ServiceConfigurationError: javax.annotation.processing.Processor: androID.databinding.annotationprocessor.ProcessDataBinding Unable to get public no-arg constructor at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:581) at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:672) at java.base/java.util.ServiceLoader.access00(ServiceLoader.java:390) at java.base/java.util.ServiceLoader$LazyClasspathLookupIterator.hasNextService(ServiceLoader.java:1232) at java.base/java.util.ServiceLoader$LazyClasspathLookupIterator.hasNext(ServiceLoader.java:1264) at java.base/java.util.ServiceLoader.hasNext(ServiceLoader.java:1299) at java.base/java.util.ServiceLoader.hasNext(ServiceLoader.java:1384) at kotlin.collections.CollectionsKt___CollectionsKt.toCollection(_Collections.kt:1058) at kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(_Collections.kt:1091) at kotlin.collections.CollectionsKt___CollectionsKt.toList(_Collections.kt:1082) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.loadProcessors(Kapt3Extension.kt:106) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:175) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:93) at org.jetbrains.kotlin.cli.jvm.compiler.topDownAnalyzerFacadeForJVM$analyzefilesWithJavaIntegration.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.invoke(KotlinToJVMBytecodeCompiler.kt:374) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze.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:108) at org.jetbrains.kotlin.cli.common.CliCompiler.execImpl(CliCompiler.java:52) at org.jetbrains.kotlin.cli.common.CliTool.exec(CliTool.kt:92) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runcompiler(IncrementalJvmCompilerRunner.kt:451) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runcompiler(IncrementalJvmCompilerRunner.kt:97) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:218) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.access$compileIncrementally(IncrementalCompilerRunner.kt:37) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner$compile.invoke(IncrementalCompilerRunner.kt:80) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:92) at org.jetbrains.kotlin.daemon.CompileServiceImpl.execIncrementalCompiler(CompileServiceImpl.kt:527) at org.jetbrains.kotlin.daemon.CompileServiceImpl.access$execIncrementalCompiler(CompileServiceImpl.kt:97) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda.invoke(CompileServiceImpl.kt:408) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda.invoke(CompileServiceImpl.kt:97) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda.invoke(CompileServiceImpl.kt:909) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda.invoke(CompileServiceImpl.kt:97) at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137) at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:939) at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:908) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:407) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) at java.rmi/sun.rmi.transport.Transport.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run(TCPTransport.java:677) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:844)Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at java.base/java.lang.class.getDeclaredConstructors0(Native Method) at java.base/java.lang.class.privateGetDeclaredConstructors(Class.java:3090) at java.base/java.lang.class.getConstructor0(Class.java:3295) at java.base/java.lang.class.getConstructor(Class.java:2110) at java.base/java.util.ServiceLoader.run(ServiceLoader.java:659) at java.base/java.util.ServiceLoader.run(ServiceLoader.java:656) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:667) ... 57 moreCaused by: java.lang.classNotFoundException: javax.xml.bind.JAXBException at java.base/java.net.urlclassloader.findClass(urlclassloader.java:466) at java.base/java.lang.classLoader.loadClass(ClassLoader.java:566) at java.base/java.lang.classLoader.loadClass(ClassLoader.java:499) ... 65 more
幸运的是(我猜想是IDK了吗),经过快速清理和使/无效后重新启动,一切都恢复了“正常”状态,最初有多个异常.
因此,目前,我所能做的就是不断检查并修复,直到没有任何错误出现,然后我们才能看到……敬请期待.
解决方法:
最后!我设法使其编译.这是检查每段代码的问题……非常令人愉快的体验,我会推荐给所有朋友.
正如outis在问题注释中指出的(谢谢!),I am not the only one experiencing this funny error.
我正在创建自己的答案,因为我可以继续开发.但是,我认为这还不够好.因此,由于编译器输出已损坏且无法使用,因此我并未将其标记为可接受的答案,并且它肯定会在未来困扰我.
更新
我最近又遇到了这个问题,由于某些原因,我注意到在实际视图之前声明视图的ID(即@ ID / somevIEw)并不意味着该视图本身可以使用相同的ID(作为@ ID / somevIEw). AFAIK,如果没有数据绑定,则此问题不存在…所以请当心!
总结以上是内存溢出为你收集整理的android-:app:kaptDevDebugKotlin失败生成异常:找不到符号DataBindingComponent全部内容,希望文章能够帮你解决android-:app:kaptDevDebugKotlin失败生成异常:找不到符号DataBindingComponent所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)