未解决的参考:Kotlin 中的 BuildConfig

MaC*_*aid 7 android buildconfig kotlin

所以我开始了一个新的 android 应用程序,
这是我的 Android Studio 信息

Android Studio 3.6.1
Build #AI-192.7142.36.36.6241897, built on February 27, 2020
Runtime version: 1.8.0_212-release-1586-b04 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1
Run Code Online (Sandbox Code Playgroud)

我还加了

buildConfigField "String", "MODE", "FREE"
Run Code Online (Sandbox Code Playgroud)

在我的产品风味中。

当我现在在我的 MainActivity 的 onCreate 中得到这个时,

BuildConfig
Run Code Online (Sandbox Code Playgroud)

是未解决的参考。

Iva*_*llo 89

如果您在 2023 年或 2024 年遇到此问题,请添加

android.defaults.buildfeatures.buildconfig=true
Run Code Online (Sandbox Code Playgroud)

到你的gradle.properties文件。

  • 关于此的博客文章:https://medium.com/androiddevelopers/5-ways-to-prepare-your-app-build-for-android-studio-flamingo-release-da34616bb946 (6认同)

eug*_*eek 56

从 Android Studio Flamingo 版本和 Android Gradle Plugin (AGP) 8.0 开始,BuildConfig默认情况下禁用生成文件,应仅对需要它的模块手动启用

将其添加到所需模块的build.gradle

android {
  ...
  buildFeatures {
    buildConfig = true
  }
}
Run Code Online (Sandbox Code Playgroud)

相反,如果您需要所有模块的旧行为,请android.defaults.buildfeatures.buildconfig=truegradle.properties文件中设置

  • 谢谢,这就是我的情况的问题。 (3认同)
  • 好消息——它成功了。坏消息——现在我渴望暴力。 (3认同)

Rah*_*rma 27

以下是解决此问题的一些简单步骤:

  1. 转到文件菜单 > 构建 > 清理项目
  2. 现在转到文件菜单>构建>重建项目

(以上步骤可能可以解决问题,如果不能解决,请执行步骤3)

  1. 现在转到您遇到此问题的文件(在我的例子中为RetrofitClient.kt)并手动添加行 import com.example.myapplication.BuildConfig

(将“com.example.myapplication”替换为您的包名称)

就这样。


neo*_*neo 10

如果从模块代码中调用 BuildConfig 类,则必须在从AGP v8.0开始的module\xe2\x80\x99s 文件中的块buildConfig中启用。\n否则该文件将不再自动生成\xe2\x80\x99s。android {}build.gradle.ktsBuildConfig

\n
android {\n  buildFeatures {\n    buildConfig = true\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

有关如何为 Android Studio Flamingo 准备应用程序构建的更多详细信息,请参阅Android 开发人员的这篇文章

\n


Int*_*iya 9

未解决的参考

  • 确保您选择 build variant. 喜欢DEBUG模式。
  • 最后Clean-Rebuild-RestartIDE。

buildConfigField("String", "MODE", "FREE")
Run Code Online (Sandbox Code Playgroud)

buildConfigField("String", 'MODE', '"FREE"')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明