除非每次进行构建/清理操作,否则在Android Studio中会出现错误。

8

每次在Android Studio中重新运行应用程序时,无论是使用“运行应用程序”还是“应用更改”,我都会获得随机错误列表。我必须进行清理并重新构建,然后它才能正常工作。出现的错误如下:

Program type already present: androidx.transition.R

Duplicate resources

error: class BuildConfig is public, should be declared in a file named BuildConfig.java

Program type already present: androidx.recyclerview.R$drawable

Program type already present: androidx.lifecycle.extensions.R$style

类型loadImageToStorage$2被定义多次:

为什么我一直收到这些消息?它极大地减缓了我的工作速度。

主要似乎是关于重复资源的,但当我执行“构建”然后运行时,它总是会清除。

我已经完全卸载并重新安装了Android Studio,但仍然有同样的问题。在Mac上运行。

非常感谢。


2
创建一个空白的Android Studio项目。你是否遇到了同样的问题?如果是,那么可能是你的整体环境出了问题。如果没有,那么问题可能与你正在使用的特定项目、插件、依赖等有关。 - CommonsWare
我从零开始创建了新项目,但是出现了同样的问题。 - RJB
我过去也遇到过这些问题,但是更新到 Android Studio 的预览版本解决了这个问题。目前正在使用 4.0 预览版。 - inventionsbyhamid
这个回答解决了你的问题吗?BuildConfig是公共的,应该在名为BuildConfig.java的文件中声明 - starball
3个回答

1

请按照以下顺序尝试以下方法:

  • 从构建菜单中选择Make Project
  • 转到File菜单,选择Invalidate Cache/restart
  • 将gradle-wrapper.properties中的distributionUrl更改为其他版本(优先选择更高的版本)。
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
  • 更新Android Studio。

0

请查看您的 build.gradle (app) 文件是否包含以下内容:

android {
buildFeatures {
    buildConfig = true
}

尝试删除 buildConfig = true 这一行。

我在 UI 显示“无法解析符号 myproject.BuildConfig”后添加了它。之后,每次出现编译错误时都可以通过“清除项目”来解决。现在我已经删除了 buildConfig = true,并且编译没有错误,但仍然显示“无法解析”的 BS。


0

看起来您有重复的文件,因此导致了重复资源错误和错误:类BuildConfig是公共的,应该在名为BuildConfig.java的文件中声明

由于它发生在构建时,并且BuildConfig.java是在构建过程中生成的(因此,它不是您自己应该编写的Java类),您可以检查是否意外编写了自己的BuildConfig.java类,并将其删除。

来自构建过程的BuildConfig.java类应该位于app/build/generated/source文件夹中。

如果您正在使用git,则可以检查您的.gitignore文件是否排除了像BuildConfig.java这样的生成文件。


我不会意外地创建另一个BuildConfig.java文件。然而,我的gitignore文件没有排除BuildConfig.java。我应该添加它吗? - RJB
通常情况下,您可能不需要将其指定为单个文件,而是整个构建文件夹,例如,请参见 https://dev59.com/z2Qn5IYBdhLWcg3wj3zz ,请参见“build/”行。 - auspicious99

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