构建Android Studio项目时如何添加Stacktrace或调试选项


142

我正在尝试调查控制台输出中的项目生成错误,如下所示:

: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选择以便它可以产生更多信息供我调试?

Answers:


207

您可以使用GUI从以下位置添加这些gradle命令行标志

File > Settings > Compiler (Gradle-based Android Project)

对于MacOS用户,它在这里

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

这样(添加--stacktrace--debug

在此处输入图片说明

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


2
在0.8.12中消失了。有人知道吗?
nmr 2014年

4
我认为他们在root上采用了Compiler选项,并在Android Studio 0.8.10中进行了检查。现在工作室将其称为Compiler(基于Gradle的Android项目)。检查一次并更新。
pyus13

2
我想我理解您在说什么,但我在谈论其他问题。他们在“项目设置”的“ Gradle”部分中删除了“命令行选项”字段。因此,没有地方向Gradle添加标志。(不过,“ VM Options”字段仍然存在。)
nmr 2014年

2
@nmr:不要引用“ Gradle”。相反,请检查“编译器(基于Gradle的Android项目)”。在那里,您将找到“命令行选项”。
Behnam'3

6
在Android Studio 1.2.2(在Windows上)中File > Settings > Build, Execution, Deployment > Compiler,您可以在中添加标记Command-line Options:
chRyNaN

38

在的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开始(在此处可以看到最新的项目),然后单击“配置”->“首选项”->“构建,执行,部署”。否则,编译器不可见
Stoycho Andreev

24

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

在此处输入图片说明


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

13

我用于调试的目的是直接在终端中使用stacktrace运行gradle任务。这样就不会影响正常的编译。

在项目的根目录中,可以通过终端使用:

./gradlew assembleMyBuild --stacktrace

7

要添加堆栈跟踪,请单击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->首选项->构建,执行,部署->编译器

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

按钮显示堆栈跟踪


我按照以下解决方案中给出的步骤进行操作,但仍然得到提示-“尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。 -扫描以获得全面的见解。”
西田

@Nishita,您是否在命令行选项中输入--stacktrace和/或--info和/或--debug和/或--scan
auspicious99

1
是的,我做到了。在首选项设置中启用它并没有帮助。我必须在终端上手动运行命令才能查看堆栈跟踪。
西田

2

对于Android Studio 3.1.3,它在

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


1

我的解决方案是这样的:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

0

为了能够--stacktrace在gradle命令中运行选项,您需要将其放在开头,例如:

./gradlew --stacktrace assembleMyBuild



0

我的解决方案是这样的:

cd android

然后:

./gradlew assembleMyBuild --stacktrace

-1

要增加最大堆:单击以打开您的Android Studio,看下面的图片。一步步。ANDROID STUDIO v2.1.2

单击以从Android Studio顶部的“配置”或“转到文件设置”中导航到“设置”。

在此处输入图片说明

还要从链接中检查android编译器,以确认它是否也会更改(如果未增加到您从编译器链接修改的大小)。

注意:您可以根据存储容量增加大小,并记住此设置基于Android Studio v2.1.2


5
这是这个答案的正确问题吗?似乎它属于其他地方。
阿卡普尔科
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.