如何在构建Android Studio项目时添加堆栈跟踪或调试选项

182

我在尝试通过以下方式在控制台输出中调查项目构建错误:

:myapp:processDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
...
...

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

我怀疑这与资源未找到错误有关。我的问题是,在IDE级别下,我该如何添加 --stacktrace--debug 选项,以便它可以为我生成更多的调试信息?

13个回答

251

你可以使用GUI界面来添加这些Gradle命令行标志,具体操作如下:

File > Settings > Build, Execution, Deployment > Compiler

对于MacOS用户,可以在这里找到

Android Studio > Preferences > Build, Execution, Deployment > Compiler

像这样(添加--stacktrace--debug

在此输入图片描述

请注意,屏幕截图来自0.8.10之前的版本,该选项不再位于Compiler > Gradle部分中,而是在名为Compiler(基于Gradle的Android项目)的单独部分中。


4
这在0.8.12版本已经消失了。有人知道更多吗? - nmr
4
我会尽力做到最好。他们应该在根目录上选择了编译器选项,我认为他们在Android Studio 0.8.10中进行了检查。现在,Studio将其称为“编译器”(基于Gradle的Android项目)。请检查一次并更新。 - Piyush Agarwal
2
@nmr:不要提到“Gradle”。相反,检查“编译器(基于Gradle的Android项目)”。在那里,您会找到“命令行选项”。 - Behnam
7
在Windows上的Android Studio 1.2.2中,您可以通过文件>设置>构建、执行、部署>编译器来添加命令行选项:中的标志。 - chRyNaN
2
在Mac上的Android Studio 1.5.1中,现在是Android Studio > Preferences > Build, Execution, Deployment > Compiler - auspicious99
显示剩余5条评论

40
在Mac版本的Android Studio Beta 1.2中,它位于Android Studio->preferences->Build, Execution, Deployment->Compiler下。

3
截至 Android Studio 2.0,这个答案仍然是正确的。 - Will Vanderhoef
1
在最新版本的AS(2.2和2.3)中,要查看编译器选项,您需要退出打开的项目,转到AS开始(其中最近的项目可见),然后单击Configure->Preferences->Build,Execution,Deployment。否则,编译器将不可见。 - Stoycho Andreev

34

我用于调试的方法是在终端直接运行带有 stacktrace 的 gradle 任务。这样你就不会影响正常的编译。

从项目根目录开始,在终端中可以使用以下命令:

./gradlew assembleMyBuild --stacktrace

对于WINDOWS用户,如果终端无法工作,只需双击ctrl键(运行弹出窗口将出现),然后将上述内容粘贴到其中即可。 - Ammar

26

在Android Studios 2.1.1中,命令行选项位于“构建、执行、部署”>“编译器”下。

输入图像描述


2
也可以添加 --scan - Kirill Karmazin

9
要添加堆栈跟踪,请点击Android项目屏幕右侧的Gradle;
1. 点击设置图标;这将打开设置页面,
2. 然后点击编译器
3. 然后添加命令--stacktrace--debug,如下所示;
4. 再次运行应用程序以获取Gradle报告。

如果这些选项被忽略了怎么办?我们是否需要清除一些缓存? - myoan

6

(2018年12月修改:Mac上的Android Studio 3.2.1同样适用)

对于Mac上的Android Studio 3.1.3,它在以下位置:

Android Studio -> 首选项 -> 构建、执行、部署 -> 编译器

然后,要查看堆栈跟踪,请按此按钮

button to show stack trace


我按照以下解决方案中给出的步骤进行了操作,但我仍然收到提示 -“尝试: 使用--stacktrace选项运行以获取堆栈跟踪。 使用--info或--debug选项运行以获取更多日志输出。 使用--scan运行以获取完整的洞察力。” - Nishita
@Nishita,你在命令行选项中输入了 --stacktrace 和/或 --info 和/或 --debug 和/或 --scan 吗? - auspicious99
1
是的,我做了。在首选项设置中启用它并没有帮助。我不得不手动在终端上运行命令才能看到堆栈跟踪。 - Nishita

2

对于Android Studio 3.1.3,您可以在以下位置找到:

文件 -> 设置 -> 构建、执行、部署 -> 编译器


请注意保留HTML标签。

1
我的解决方案是这样的:
configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

1
如果您使用fastlane,可以通过附加标志来传递其他参数。
gradle(
   ...
   flags: "{your flags}"
)

更多信息 这里


0

我的解决方案是这样的:

cd android

然后:

./gradlew assembleMyBuild --stacktrace

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接