【问题标题】:The use of safeArgs in Android Studio is causing an error and I cannot build the project在 Android Studio 中使用 safeArgs 导致错误,我无法构建项目
【发布时间】:2021-07-01 06:15:08
【问题描述】:

我正在尝试在 Kotlin 中构建我的项目,但出现此错误:

任务“:app:generateSafeArgsDebug”执行失败。

无法读取“F:\Program Files\Android Projects\CityOnApp\crowdapps-mobile-android\app\build\intermediates\metadata_application_id\debug\application-id.txt”,因为它不存在。

当我在 Settings > Build, Execution, Deployment > Compiler > Command Line Options 添加时: --stacktrace --debug -Pandroid.debug.obsoleteApi=true,然后我得到: [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 任务 ':app:generateSafeArgsDebug' 执行失败。

无法读取“F:\Program Files\Android Projects\CityOnApp\crowdapps-mobile-android\app\build\intermediates\metadata_application_id\debug\application-id.txt”,因为它不存在。

我检查了路径,文件不存在! 我在 Kotlin 和 Android Studio 中有最新版本。 我试过但没有奏效的是:

  • 干净的构建和重建/构建
  • 降级 Android Studio 版本
  • 从根目录中删除 .gradle 文件

【问题讨论】:

  • 您找到解决方法了吗?我有同样的问题
  • @artman 我收到此错误,因为我的外部硬盘驱动器中安装了 Android Studio,并且项目也存储在那里。我将 oth 移到我电脑的硬盘中,一切正常!
  • 我在 VeraCrypt 容器中有我的项目,该容器被挂载为磁盘 D。Android Studio 安装在磁盘 C 上。我试图通过创建几个不同的 VeraCrypt 容器来缩小步骤,将它们安装到不同的字母等. 有时有效,有时无效。此外,它似乎不依赖于驱动器号或文件系统类型,因为我在同一个文件夹中并排克隆了 3 个存储库,其中两个给出了这个错误,一个工作正常。唯一的区别是文件夹名称...对于以后可能遇到此问题的人,此信息可能会有所帮助

标签: android android-studio kotlin android-safe-args


【解决方案1】:

要将 Safe Args 添加到您的项目中,请在顶级 build.gradle 文件中包含以下类路径:

buildscript {

repositories {
    google()
  }
dependencies {
    def nav_version = "2.3.4"
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
  }
}

您还必须应用两个可用插件之一。

要生成适用于 Java 或混合 Java 和 Kotlin 模块的 Java 语言代码,请将此行添加到您的应用或模块的 build.gradle 文件中:

apply plugin: "androidx.navigation.safeargs"

或者,要生成适合 Kotlin-only 模块的 Kotlin 代码,请添加:

apply plugin: "androidx.navigation.safeargs.kotlin"

根据迁移到 AndroidX,您的 gradle.properties 文件中必须包含 android.useAndroidX=true

来源:Official Documentation

【讨论】:

  • 谢谢你,你很有帮助!我检查了,我有你提到的一切,依赖项,插件,但我仍然收到错误
【解决方案2】:

尝试升级/降级 gradle 插件。

classpath 'com.android.tools.build:gradle:x.x.x'

尝试升级/dowgrading gradle wrapper 属性

distributionUrl=https\://services.gradle.org/distributions/gradle-x.x.x-bin.zip

尝试通过文件菜单使 Android Studio 中的缓存失效。

尝试在 admin/sudo 中运行 Android Studio。

检查您的 (git/local) 历史记录,看看是否有任何更改可能导致此问题。

如果一切都失败了,请重新安装 Android Studio 并全新导入您的项目。

【讨论】:

  • 您的应用在什么时候运行?一个基本的新 kotlin 项目是否可行?
  • 如果我在 Kotlin 中开始一个新项目,那么它可以工作
  • 我刚刚从 git repo 复制了一个分支!我的同事在他的计算机中有相同的代码并且它正在工作
  • 也许请您的同事压缩整个项目文件夹并将其发送给您,然后将其作为新项目打开。当您复制分支时,可能出现了严重错误。
猜你喜欢
  • 2019-07-14
  • 2013-09-13
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多