如何解决Android项目引入FolioReader库后的依赖无法解析问题
问题原因
你遇到的依赖拉取失败是因为FolioReader 0.5.4依赖的com.github.codetoart名下的r2相关库已经被原作者移除或迁移,公共仓库无法拉取对应版本的包,同时高版本Android Gradle Plugin(AGP)的仓库配置规则变更也可能导致已添加的jitpack仓库不生效。
解决方案
步骤1:修正仓库配置
如果使用AGP 7.0及以上版本,项目默认以settings.gradle中的仓库配置为准,仅在根目录build.gradle添加jitpack仓库不会生效,需要修改settings.gradle文件:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // 新增jitpack仓库 maven { url 'https://jitpack.io' } } }
如果是7.0以下版本的AGP,确认根目录build.gradle的allprojects块中已经添加jitpack仓库,不要仅放在buildscript块下:
allprojects { repositories { google() mavenCentral() maven { url 'https://jitpack.io' } } }
步骤2:排除失效依赖并替换兼容版本
如果修改仓库配置后仍无法拉取,直接在引入FolioReader时排除失效的r2依赖,再引入目前可正常拉取的兼容版本,修改app模块build.gradle的依赖配置:
implementation ("com.folioreader:folioreader:0.5.4") { // 排除失效的r2依赖 exclude group: 'com.github.codetoart', module: 'r2-shared-kotlin' exclude group: 'com.github.codetoart', module: 'r2-streamer-kotlin' } // 引入兼容的可用r2版本 implementation 'com.github.folioreader.r2-shared-kotlin:r2-shared-kotlin:1.0.4' implementation 'com.github.folioreader.r2-streamer-kotlin:r2-streamer-kotlin:1.0.4'
步骤3:同步清理后构建
修改完成后点击Android Studio的Sync Project with Gradle Files,同步结束后执行Clean Project再重新构建项目即可。
内容的提问来源于stack exchange,提问作者Mohammad hosein Hosseini
相关产品推荐
相关产品推荐

