BuildConfig.DEBUG在哪里?

28

我的项目似乎没有意识到在Android Tools r17构建中自动生成的新常量:

“添加了一个功能,允许您仅在调试模式下运行一些代码。现在生成一个名为BuildConfig的类,其中包含根据您的构建类型自动设置的DEBUG常量。您可以在代码中检查(BuildConfig.DEBUG) 常量以运行仅限于调试的功能,如输出调试日志。”

我已经确认我的项目中没有任何地方自动生成这个类。我删除了所有项目输出(包括所有 gen 文件夹)并重新构建,只有生成 R.java 类。

为什么工具没有生成 BuildConfig 类?可能与我使用的 IntelliJ 有关。

4个回答

13

IntelliJ不会生成BuildConfig的Java和class文件。

我认为这个功能是由Eclipse的ADT插件提供的,而不是SDK工具/共享构建内容的一部分。


1
有道理。真可惜。我已经在IntelliJ中记录了一个问题。我希望他们能够添加它,因为这是一个非常实用的小功能。http://youtrack.jetbrains.com/issue/IDEA-83336 - Ollie C
1
看起来JetBrain的团队已经解决了这个问题。我无法下载最新版本,希望在一两天内它就会可用 :) - Gurnetko
4
自IDE版本11.1.2起,BuildConfig.java现在在IntelliJ中自动生成。 - Ollie C
2
如果它是作为构建过程的一部分生成的,那么它不应该成为核心SDK的一部分吗?不使用特定的插件或IDE不应该导致构建失败!天哪! - Cheezmeister

11

我刚刚检查过了,在所有你的项目中,它是在这里生成的:

gen/package_name/BuildConfig.java

并且包含以下内容:

/** Automatically generated file. DO NOT MODIFY */
package package_name;

public final class BuildConfig {
    public final static boolean DEBUG = true;
}

很遗憾,这并没有帮助。在我的项目中,该类并未在该位置自动生成。工具肯定已经更新了,所以很难理解原因。 - Ollie C
你尝试过清理项目吗?当然,在安装后你重启了Eclipse吧?抱歉,一开始我没有注意到你没有使用Eclipse。另外,需要使用Ant 1.8版本,你有这个版本吗? - Yury
1
我使用的是IntelliJ而不是Eclipse,但是我已经清除了构建并重新构建了它,在重启IDE后也没有任何区别。 - Ollie C

6

这是一个标准的Android功能还是IDE功能呢? - Pacerier
今天这是特定于IDE或构建系统(如Gradle或ANT)的东西,但我尝试了所有地方都得到了支持。 - n3o59hf

1

显然,IntelliJ不支持生成这个文件。我使用IntelliJ编辑我的代码,但是想要编译它,并且BuildConfig的东西是为我生成的。所以你可以等待IntelliJ生成更新来生成BuildConfig,或者切换到ant进行编译。


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