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

话说头一回使用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



猜你喜欢

转载自blog.csdn.net/qq_35599978/article/details/80028278