在Android Studio中使用safeArgs导致错误,我无法构建项目

eh57zj3b  于 2023-04-04  发布在  Android
关注(0)|答案(5)|浏览(260)

我尝试在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中有最新版本。我尝试过,没有工作的是:

  • clean build和rebuild/ build
  • 降低Android Studio的版本
  • 从根目录删除.gradle文件
a2mppw5e

a2mppw5e1#

plugins {
id 'com.android.application' version '7.1.0' apply false
id 'com.android.library' version '7.1.0' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
id 'androidx.navigation.safeargs.kotlin' version '2.4.1' apply false
}
mv1qrgav

mv1qrgav2#

要将安全参数添加到项目中,请在顶层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专用模块的Kotlin代码,请添加:
apply plugin: "androidx.navigation.safeargs.kotlin"
根据迁移到AndroidX,您必须在www.example.com文件中包含android.useAndroidX=truegradle.properties。
来源:Official Documentation

nbewdwxp

nbewdwxp3#

尝试升级/降级gradle插件。

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

尝试升级/降级gradle Package 器属性

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

尝试通过文件菜单在Android Studio中使缓存失效。
尝试在admin/sudo中运行Android Studio。
检查你的(git/local)历史记录,看看是否有任何可能导致此问题的更改。
如果所有其他操作均失败,请重新安装Android Studio并全新导入您的项目。

qc6wkl3g

qc6wkl3g4#

要添加safe-args,请在顶部的plugins{}块之前将此依赖项添加到build.gradle(project)

buildscript {
repositories {
    google()
}
dependencies {
    classpath("androidx.navigation:navigation-safe-args-gradle-plugin:2.4.2")
}}

将此添加到plugin{}块内的build.gradle(Module)文件中

id("androidx.navigation.safeargs.kotlin")

在添加了Rebuild项目之后,这将实现safe-args

kcugc4gi

kcugc4gi5#

Steps: 
1: Please add id 'androidx.navigation.safeargs.kotlin' version '2.5.3' apply false in your project level build.gradle file (eg: Project: restaurant_app) 
2.Inside module level build.gradle file:
 if there is no buildscript then please add inside android tag as:
  buildscript {
        dependencies {
            def nav_version = "2.5.3"
            classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
        }
    }
 if there exists buildscript tag then add inside dependencies tag:
 def nav_version = "2.5.3"
            classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"

现在同步显示在所选文件顶部的gradle。
您可能需要更改“2.5.3”。请从官方文档中查找最新版本:https://developer.android.com/guide/navigation/navigation-pass-data#Safe-args

相关问题