org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith...

这个异常出现之后,AndroidStudio并没有给出详细的打印结果。在网上学到一招打印详细异常信息的方法,这里总结下:
首先:进入项目根目录或者直接使用AndroidStudio的Terminal使用
gradle compileDebug --stacktrace 打印出详细的错误信息
gradle compileDebug --stacktrace -info 打印出更详细的错误信息
gradle compileDebugSources --stacktrace -info 使用这一句命令打印出来


org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith..._第1张图片
image.png

可以看到很清楚的写着LoginPresenterImpl cannot be provided without an @Inject constructor or an @Provides-annotated method. 这个错误就是在LoginPresenterImpl的构造方法上忘记添加@Inject标签

在这里使用gradle compileDebug --stacktrace命令时,需要配置gradle的路径,因为我之前刚配了Flutter的路径,可能一不小心删了Gradle路径。所以一开始无法使用gradle开头的命令。怎么配置呢?

1.打开.bash_profile文件:


查看.bash_profile步骤

第一步:cd ~ 进入到home文件夹下
第二步: touch .bash_profile
第三步:打开.bash_profile文件:open -e .bash_profile 此时.bash_profile文件会以文本格式打开

打开后看文件中是否有这两行:
image.png

如果没有,找到gradle路径按照上图格式填入文件中。
怎么找gradle的路径呢,按照下面的步骤:

image.png
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith..._第2张图片
image.png
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith..._第3张图片
image.png

在这个文件夹内使用快捷键option+command+c复制包路径
填入.bash_profile文件中。填完后使用source .bash_profile命令使修改生效。

然后使用gradle -v命令查看gradle版本号

如果提示permission define 就需要更改文件权限:进入到刚才的bin目录:输入如下所示的命令。ls -l 查看权限 chmod +x gradle.bat 和 chmod +x gradle 添加权限
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith..._第4张图片

你可能感兴趣的:(org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWith...)