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

迁移旧Android项目时遭遇Gradle依赖解析错误

Android项目迁移依赖解析失败原因分析

迁移旧Android项目时执行:app:assembleDebug任务失败,核心报错如下:

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.

完整错误栈显示:app:checkDebugAarMetadata任务执行失败,提示无法解析androidx.appcompat:appcompat:1.4.2等外部依赖,原因是**"no repositories are defined"**。

根目录build.gradle配置

buildscript {
    ext {
        agp_version = '7.2.1'
        gms_version = '4.3.13'
        kotlin_version = '1.7.0'
        crashlytics_version = '2.8.1'
    }
    repositories {
        google()
    }
}
plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'com.google.gms.google-services' version "$gms_version" apply false
    id 'com.google.firebase.crashlytics' version "$crashlytics_version" apply false
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

repositories {
    google()
}

应用级build.gradle配置

plugins {
    id 'com.android.application'
}

android {
    compileSdk 32
    
        defaultConfig {
            applicationId "com.brian.skyazul"
            minSdk 30
            targetSdk 32
            versionCode 3
            versionName "1.2"
    
            multiDexEnabled true
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
        lintOptions {
            checkReleaseBuilds false
        }
       /* kotlinOptions {
            jvmTarget = '1.8'
        }*/
    }
    
    dependencies {
        implementation 'com.google.android.material:material:1.6.1'
        testImplementation 'junit:junit:4.13.2'
        androidTestImplementation 'androidx.test.ext:junit:1.1.3'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'androidx.appcompat:appcompat:1.4.2'
        implementation 'com.squareup.retrofit:retrofit:1.9.0'
        //noinspection GradleCompatible
        implementation 'com.android.support:cardview-v7:23.2.1'
        implementation 'com.squareup.retrofit:converter-jackson:1.9.0'
        implementation 'com.squareup.okhttp:okhttp:2.0.0'
        implementation 'com.squareup.okhttp3:logging-interceptor:2.2.0'
        implementation files('libs/picasso-2.5.2.jar')
    }

可能的原因

  • Gradle版本仓库配置规范不兼容:使用的AGP版本7.2.1对应Gradle 7.3+版本,该版本要求根目录的仓库配置需放在dependencyResolutionManagement块内,而非直接在根目录下声明repositories。当前根目录的repositories块无法被应用模块继承,导致应用级找不到依赖仓库。
  • 缺失必要的依赖仓库:项目中依赖的junit、squareup系列库需要从mavenCentral()仓库获取,但当前配置只声明了google(),缺少该仓库导致部分依赖无法解析。
  • AndroidX与旧Support库混合冲突:项目同时引入AndroidX的androidx.appcompat和旧Support库的cardview-v7,这种混合依赖会干扰Gradle的依赖元数据解析,间接触发"no repositories are defined"的错误提示。

内容的提问来源于stack exchange,提问作者Jaimin Modi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:24:27