android - 错误: package R does not exist - generated fragment directions file after Gradle update

标签 android gradle android-gradle-plugin

使用 Android Studio Gradle 升级向导,我:

  1. 将 Android Gradle 插件从版本 7.1.2 升级到版本 7.2.0
  2. 将 Gradle 从版本 7.2 升级到版本 7.3.3
  3. 根据 Android Studio 的建议,将包从 Android list 移至构建文件(“不推荐使用 Android list 的包属性来声明项目的命名空间,而改为在构建文件中声明命名空间。”)

但是,在构建我的应用程序后,我在生成的 fragment 方向文件之一 (OverviewFragmentDirections.java) 中收到以下错误。

error: package R does not exist

我正在使用以下与导航相关的依赖项。

  • androidx.navigation:navigation-safe-args-gradle-plugin(版本 2.4.1)
  • androidx.navigation:navigation-fragment-ktx(版本 2.4.2)
  • androidx.navigation:navigation-ui-ktx(版本 2.4.2)

如何解决此错误?

最佳答案

将您的导航依赖项更新至版本 2.5.2将解决该错误。

build.gradle

buildscript {

    ...
    dependencies {
        ...
        classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.5.2")
        ...
    }
}

build.gradle (:app)

dependencies {
    ...

    implementation "androidx.navigation:navigation-fragment-ktx:2.5.2"
    implementation "androidx.navigation:navigation-ui-ktx:2.5.2"

    ...
}

关于android - 错误: package R does not exist - generated fragment directions file after Gradle update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73791205/

相关文章:

android - 在 HTC ONE 上调用方法 getFocusAreas() 导致 java.lang.NumberFormatException

java - vs 代码 - 预期的 java 包名称错误

android - Gradle android 优化 packagingOptions

android - 无法从 aar 访问类

java - 具有相同类路径的两个URLClassLoader具有不同的行为

android - 在 Android 库 aar 中包含外部模块

android - 如何在 gui 中启动 androidx86?

android - Android 中的 Web 服务 SOAP

华为移动服务的安卓虚拟设备

java - 使用 gradle : howto? 构建 ServiceLoader 文件