文章目录

  • 一、报错信息
  • 二、问题分析
  • 三、解决方案




解决方案 : 添加如下 Navigation 依赖 ;

  • 对于 Kotlin , build.gradle 构建脚本配置如下
dependencies {  
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'  
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'  
}
  • 对于 Java , build.gradle 构建脚本配置如下
dependencies {  
    implementation 'androidx.navigation:navigation-fragment:2.2.2'
    implementation 'androidx.navigation:navigation-ui:2.2.2'
}






一、报错信息



创建完成后 , 出现如下报错信息 " failed to add navigation dependency " ;

【错误记录】Navigation 导航组件报错 ( failed to add navigation dependency )_Jetpack

点击该界面 , 会弹出如下对话框 , 点击 OK , 会自动向 build.gradle 构建脚本中添加依赖 ;

【错误记录】Navigation 导航组件报错 ( failed to add navigation dependency )_Jetpack_02






二、问题分析



使用 Android Navigation 组件时遇到 “failed to add navigation dependency” 错误,可能原因有以下几种情况:

① 尚未正确添加依赖项。在 build.gradle 文件中,确保已经添加了 navigation 库的依赖项。例如,

  • 对于 Kotlin , build.gradle 构建脚本配置如下
dependencies {  
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'  
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'  
}
  • 对于 Java , build.gradle 构建脚本配置如下
dependencies {  
    implementation 'androidx.navigation:navigation-fragment:2.2.2'
    implementation 'androidx.navigation:navigation-ui:2.2.2'
}

② 未正确配置 Navigation 组件。在 AndroidManifest.xml 文件中,请确保您已经添加了必要的权限和 meta-data 配置。例如,在您的 节点中,您需要添加以下权限和 meta-data:

<uses-library  
    android:name="org.apache.http.legacy"  
    android:required="true" />  
</application>

③ Android Studio 版本可能与 Navigation 组件不兼容。请尝试更新您的 Android Studio,并重新导入您的项目。






三、解决方案



添加 Navigation 导航组件依赖 :

implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
    implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'

完整代码如下 :

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

android {
    namespace 'kim.hsl.nav'
    compileSdk 32

    defaultConfig {
        applicationId "kim.hsl.nav"
        minSdk 21
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.4.1'
    implementation 'androidx.navigation:navigation-ui-ktx:2.4.1'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

添加完依赖后 , 重新 Build 一下应用 , Navigation 功能正常使用 ;

【错误记录】Navigation 导航组件报错 ( failed to add navigation dependency )_Android_03