Android Studio集成Unsplash Photo Picker时Gradle依赖解析失败求助
无法解析Unsplash Photo Picker Android依赖的解决方案
问题描述
按照Unsplash官方文档集成Unsplash Photo Picker到Android Studio项目,配置完Project和App层级的build.gradle后,Gradle编译失败,提示找不到com.github.unsplash:unsplash-photopicker-android:1.0.1依赖,仅在Google Maven和Maven Central中搜索,未找到该依赖。
错误信息
Execution failed for task ':gallery:desugarDebugFileDependencies'. Could not resolve all files for configuration ':gallery:debugRuntimeClasspath'. Could not find com.github.unsplash:unsplash-photopicker-android:1.0.1. Searched in the following locations: - https://dl.google.com/dl/android/maven2/com/github/unsplash/unsplash-photopicker-android/1.0.1/unsplash-photopicker-android-1.0.1.pom - https://repo.maven.apache.org/maven2/com/github/unsplash/unsplash-photopicker-android/1.0.1/unsplash-photopicker-android-1.0.1.pom Required by: project :gallery
问题原因
你只在buildscript的repositories中添加了JitPack仓库,但Gradle 7+版本中,模块依赖的仓库配置和插件仓库是分开的——buildscript里的仓库仅用于下载Gradle插件,模块依赖的仓库需要单独配置在dependencyResolutionManagement(项目级)或者模块级的repositories中。而Unsplash Photo Picker的Android库托管在JitPack上,所以Gradle找不到对应的依赖。
解决方案
方案一:修改项目级build.gradle(推荐)
在项目级build.gradle中添加dependencyResolutionManagement块,统一管理所有模块的仓库:
// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'com.android.application' version '7.3.1' apply false id 'com.android.library' version '7.3.1' apply false id 'org.jetbrains.kotlin.android' version '1.6.21' apply false } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://jitpack.io' } } } task clean(type: Delete) { delete rootProject.buildDir }
方案二:修改App级build.gradle
在App级build.gradle的android块之后,添加仓库配置:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'androidx.navigation.safeargs.kotlin' id "kotlin-parcelize" } android { // 原有的android配置内容不变 } // 添加以下仓库配置 repositories { google() mavenCentral() maven { url 'https://jitpack.io' } } dependencies { // 原有的依赖内容不变 }
操作步骤
- 选择上述任一方案修改对应的build.gradle文件
- 点击Android Studio右上角的「Sync Now」同步Gradle
- 重新编译项目
内容的提问来源于stack exchange,提问作者linuxbeginner
相关产品推荐
相关产品推荐

