You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android运行Kotlin版Spotify克隆APP报debugRuntimeClasspath解析错误

问题根因

构建抛出debugRuntimeClasspath依赖解析失败异常,是配置文件存在3类核心错误导致的:

  • JitPack仓库仅配置在了插件管理仓库中,全局依赖解析仓库未添加,Glide这类托管在JitPack的依赖无法正常拉取
  • 依赖存在重复引入、版本冲突问题:Hilt同时引入两个差异极大的版本、Firestore重复引入不同版本、废弃依赖未清理
  • Hilt配套Gradle插件未配置,注解处理器相关依赖无法正常解析
修复步骤

1. 修改项目级Settings.gradle

在dependencyResolutionManagement的repositories块中添加JitPack仓库,修改后完整内容如下:

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // 新增JitPack仓库,用于拉取Glide等第三方依赖
        maven { url 'https://jitpack.io' }
    }
}
rootProject.name = "SpotifyClone"
include ':app'

2. 修改项目级Build.gradle

补齐和现有Hilt版本对齐的插件依赖,修改后完整内容如下:

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.13'
        // 新增Hilt插件类路径
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.38.1"
    }
}
plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
    // 新增Hilt插件声明
    id 'com.google.dagger.hilt.android' version '2.38.1' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

3. 修改app模块Build.gradle

清理重复插件、重复依赖、废弃依赖,添加Hilt插件声明,统一依赖版本,修改后完整内容如下:

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.gms.google-services'
    id 'kotlin-kapt'
    // 新增Hilt插件
    id 'com.google.dagger.hilt.android'
    // 删除重复的kotlin-android插件,org.jetbrains.kotlin.android已包含对应能力
}

android {
    compileSdk 32

    defaultConfig {
        applicationId "com.aashushaikh.spotifyclone"
        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.2'
    implementation 'com.google.android.material:material:1.6.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    // Architectural Components
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1"

    // Lifecycle
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.4.1"
    implementation "androidx.lifecycle:lifecycle-runtime:2.4.1"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.1"

    // Coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1'

    // 删除重复引入的lifecycle-viewmodel-ktx、lifecycle-runtime-ktx依赖

    // Navigation Component
    implementation "androidx.navigation:navigation-fragment-ktx:2.5.0"
    implementation "androidx.navigation:navigation-ui-ktx:2.5.0"

    // Glide
    implementation 'com.github.bumptech.glide:glide:4.13.2'
    kapt 'com.github.bumptech.glide:compiler:4.13.2'
    // Glide注解处理器替换为kapt,适配Kotlin项目

    // Activity KTX for viewModels()
    implementation "androidx.activity:activity-ktx:1.4.0"

    //Dagger - Hilt
    // 删除2.28-alpha版本旧Hilt依赖,避免版本冲突
    // 删除废弃的hilt-lifecycle-viewmodel依赖,该组件已合并到新版Hilt核心库
    implementation "com.google.dagger:hilt-android:2.38.1"
    kapt("com.google.dagger:hilt-android-compiler:2.38.1")


    // Timber
    implementation 'com.jakewharton.timber:timber:4.7.1'

    // Firebase Firestore 统一版本为24.2.0,删除重复的24.1.2版本引入
    implementation 'com.google.firebase:firebase-firestore:24.2.0'
    implementation 'com.google.firebase:firebase-firestore-ktx:24.2.0'

    // Firebase Storage KTX
    implementation 'com.google.firebase:firebase-storage-ktx:24.2.0'

    // Firebase Coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.1'
    // 升级coroutines-play-services版本和协程核心版本对齐,避免版本冲突

    // ExoPlayer
    api "com.google.android.exoplayer:exoplayer-core:2.18.0"
    api "com.google.android.exoplayer:exoplayer-ui:2.18.0"
    api "com.google.android.exoplayer:extension-mediasession:2.18.0"
}

4. 执行缓存清理

配置修改完成后,点击Android Studio顶部菜单栏File -> Invalidate Caches...,勾选所有选项后重启IDE,重启后在项目根目录执行./gradlew clean build命令重新构建项目即可。

注意:如果本地网络无法正常访问Google Maven、JitPack仓库,需要为Gradle配置可用代理,否则依然会出现依赖拉取失败问题。

内容的提问来源于stack exchange,提问作者Aashu Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:06:06