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

导入第三方库时遇com.nineoldandroidlibs依赖解析错误求解决

解决Unable to resolve dependency for ':app@release/compileClasspath': could not resolve com.nineoldandroidlibs:library:2.4.0错误

嗨,我明白你在导入EazeGraph饼图库和FancyButtons时遇到的这个头疼的依赖问题了,咱们一步步来搞定它。

问题根源分析

你遇到的错误主要有两个核心原因:

  1. JCenter仓库已废弃:你当前配置的jcenter()已经停止维护,很多旧库的镜像已经被移除,包括com.nineoldandroidlibs:library:2.4.0。
  2. 缺失JitPack仓库:你用到的eazegraph和fancybuttons都是托管在JitPack上的,但你把对应的仓库配置注释掉了,导致Gradle无法下载这两个库,进而触发了依赖链上的解析错误。

具体解决方案

1. 更新项目级build.gradle的仓库配置

打开项目根目录下的build.gradle,修改repositories部分,替换废弃的JCenter为MavenCentral,并启用JitPack仓库:

buildscript {
    repositories {
        google()
        mavenCentral() // 替换已废弃的jcenter()
        maven { url 'https://maven.google.com' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}
allprojects {
    repositories {
        google()
        mavenCentral() // 替换已废弃的jcenter()
        maven { url 'https://maven.google.com' }
        maven { url "https://jitpack.io" } // 必须启用,因为你的两个第三方库托管在这里
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

2. 升级模块级build.gradle的依赖声明

打开app模块下的build.gradle,把已废弃的compile关键字替换为implementation(这是Gradle的最新规范),确保依赖声明正确:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.hamzanaeem.gasapplication"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.github.blackfizz:eazegraph:1.2.2@aar'
    implementation 'com.github.medyo:fancybuttons:1.8.4'
}

3. 清理并同步项目

完成上述修改后,执行以下操作:

  • 点击Android Studio顶部菜单栏的File -> Sync Project with Gradle Files,等待同步完成
  • 然后点击Build -> Clean Project,清理旧的构建缓存
  • 最后执行Build -> Rebuild Project,重新构建项目

额外建议

如果上述步骤后仍然有问题,可以考虑升级你的Gradle插件版本(当前用的3.0.1比较老旧),不过这需要同步调整compileSdkVersion等配置,如果你暂时不想升级,先按上面的步骤操作应该就能解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:08:31