databinding新手 Execution failed for task ':app:compileDebugJavaWithJavac'

本文介绍了作者在初次使用DataBinding时遇到的编译错误,无法运行应用的问题。通过查阅资料,发现错误原因在于ViewModel未继承Observable。通过调整Gradle命令行参数,成功定位到具体问题,从而解决了编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话说头一回使用databinding,删删改改不知道最后哪里写错了,编译可以通过,就是不能运行,而且报错不能定位信息。表示很尴尬,弄了一上午,终于找到了一个前辈的文章,发现和他的错一样,我就按照他的方法进行排查,首先我报的错误如下

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.   
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions
    (ExecuteActionsTaskExecuter.java:100)  
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute
    (ExecuteActionsTaskExecuter.java:70)  
  
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException:
    Compilation failed; see the compiler error output for details.  
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:51)  
    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 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)  
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.
    doExecute(DefaultTaskClassInfoStore.java:173)  
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.
    execute(DefaultTaskClassInfoStore.java:134)  
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction
    (ExecuteActionsTaskExecuter.java:111)  
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions
    (ExecuteActionsTaskExecuter.java:92)  
    ... 30 moreq  


其实我们只需要一个debug神器就行了

    gradlew compileDebug --stacktrace -debug
    gradlew compileDebug --stacktrace -info
在命令行输入上面的错误信息追踪,然后会得到



意思是:任务“compileDebug”在根项目“LayoutManager_sample”中是不明确的。需要把compileDebug替换为下面的选项:

'compileDebugAidl',
'compileDebugAndroidTestAidl',
'compileDebugAndroidTestJavaWithJavac',
'compileDebugAndroidTestNdk',
'compileDebugAndroidTestRenderscript',
'compileDebugAndroidTestShaders',
'compileDebugAndroidTestSources',
'compileDebugJavaWithJavac',
'compileDebugNdk',
'compileDebugRenderscript',
'compileDebugShaders',
'compileDebugSources',
'compileDebugUnitTestJavaWithJavac',
'compileDebugUnitTestSources'.

因为我最初报错的第一行是

org.gradle.api.tasks.TaskExecutionException: 

Execution failed for task ':app:compileDebugJavaWithJavac'.

所以我把相应的错误追查信息命令行改为

gradlew compileDebugJavaWithJavac --stacktrace -debug

然后我得到了想要的信息



是因为我的viewmodel 没有继承Observable而已。以后不管studio再报什么错,我们只需要把报错的类型填上去,使用

gradlew 错误类型 --stacktrace -debug

就可以精确定位问题。感谢前辈的文章 

https://www.cnblogs.com/woaixingxing/p/7754873.html



UATHelper: 打包 (Android (ASTC)): > Task :app:compileDebugJavaWithJavac FAILED UATHelper: 打包 (Android (ASTC)): The following annotation processors are not incremental: lifecycle-compiler-2.0.0.jar (androidx.lifecycle:lifecycle-compiler:2.0.0). UATHelper: 打包 (Android (ASTC)): Make sure all annotation processors are incremental to improve your build speed. UATHelper: 打包 (Android (ASTC)): > Task :downloader_library:bundleLibRuntimeToJarDebug UATHelper: 打包 (Android (ASTC)): FAILURE: Build failed with an exception. UATHelper: 打包 (Android (ASTC)): * What went wrong: UATHelper: 打包 (Android (ASTC)): Execution failed for task ':app:compileDebugJavaWithJavac'. UATHelper: 打包 (Android (ASTC)): > Compilation failed; see the compiler error output for details. UATHelper: 打包 (Android (ASTC)): * Try: UATHelper: 打包 (Android (ASTC)): 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. UATHelper: 打包 (Android (ASTC)): * Get more help at https://help.gradle.org UATHelper: 打包 (Android (ASTC)): BUILD FAILED in 8s UATHelper: 打包 (Android (ASTC)): 40 actionable tasks: 40 executed UATHelper: 打包 (Android (ASTC)): ERROR: cmd.exe failed with args /c "E:\A_MyProjects\A_UE4.27_Projects\VR_DaoZha_Project\Intermediate\Android\gradle\rungradle.bat" :app:bundleDebug UATHelper: 打包 (Android (ASTC)): (see C:\Users\Administrator\AppData\Roaming\Unreal Engine\AutomationTool\Logs\E+ProgramFiles+UE_4.27\Log.txt for full exception trace) UATHelper: 打包 (Android (ASTC)): AutomationTool exiting with ExitCode=1 (Error_Unknown) UATHelper: 打包 (Android (ASTC)): BUILD FAILED PackagingResults: Error: Unknown Error ue4.27打包失败日志,分析原因
06-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值