未解决的引用 BuildConfig

12

当我试图重建我的项目时,我遇到了下面的错误:

warning: flag is not supported by this version of the compiler: -Xallow-no-source-files
warning: flag is not supported by this version of the compiler: -Xjava-source-roots=/Users/tyln/AndroidStudioProjects/PhoneBox/base/navigation/build/generated/source/buildConfig/dev/debug
base/navigation/src/main/java/com/raqun/phonebox/navigation/IntentLoader.kt:7:9: error: unresolved reference: BuildConfig
        BuildConfig.PACKAGE_NAME,
        ^

> Task :base:navigation:compileDevDebugKotlin FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':base:navigation:compileDevDebugKotlin'.
> Compilation error. See log for more details

当我检查类时,没有未解决的引用。

我正在使用Gradle版本 3.3.1

我几乎尝试了所有方法,如无效缓存 / 重新启动、清理和重建、关闭并重新打开项目、重新导入项目、删除idea文件夹等,但都没有起作用。

感谢您的帮助。


你找到任何解决方案了吗? - Jinson Paul
没有,我没有。:| - savepopulation
只需运行代码,我的问题就被解决了。 - Jinson Paul
我尝试了所有可能的解决方案,但它们都没有起作用。不过还是谢谢你的回答。 - savepopulation
这对我有帮助:https://dev59.com/wlIH5IYBdhLWcg3wI5zG#76124393 - leo
6个回答

19

可能是因为您自添加字段以来没有进行构建,BuildConfig 和其他在 Gradle 文件中声明的变量/属性只会在成功构建后才可用。以下说明将解决此问题:

  • Build -> 清除项目
  • Build -> 重新构建项目 (暂时注释掉任何导致编译器错误的行!)
  • 在代码中按下 Alt + Enter (Windows/Linux) 或 Option + Enter(macOS) ,选择 Import... 从建议的解决方案中导入 BuildConfig

14
从Android Gradle插件版本8开始,您现在必须明确告诉Gradle您想要生成BuildConfig文件。
android {

    //...
    buildFeatures {
        compose = true
        buildConfig = true // <- set this to true
    }
}

2

您只需要点击“构建APK”即可构建您的应用程序。这是修复问题的快速方法。

build issue


1

我清理并重新构建项目后仍然遇到了问题。

对我来说,这是gradle文件中的一个笔误, 在您的buildType中检查是否有笔误。

buildTypes {

    deubg { <- it should be "debug"
        buildConfigField "String", "URL_BASE_DEBUG", '"https://example.example.com"'
        buildConfigField "String", "TOKEN_DEBUG", '"********"'
        buildConfigField "....."}


    release { 
        buildConfigField "String", "URL_BASE_PROD", '"https://example.example.com"'
        buildConfigField "String", "TOKEN_¨PROD", '"********"'
        buildConfigField "....."}

0

类似于变量。从根项目文件夹名称或任何路径到项目中删除特殊字符,如: 或 ,


0
我不知道为什么即使清理、无效缓存或删除整个./gradle和./idea文件夹也无法解决这个问题。我之前使用的是AGP 8.0.2和Gradle 8.2.1版本,现在我正在使用AGP 7.4.2和Gradle 7.6.2,重新构建后,我发现BuildConfig得到了解决。

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