Android Studio中使用GitHub Fork的Calendar库遇Gradle引用错误求解决
库信息
- 原库:Calendar
- Fork版本:2.4.1
- 模块类型:View
问题描述
我想在自己的Kotlin项目里,像使用原库一样用自己Fork的版本。我在Gradle构建文件里加了这段代码:
implementation 'com.Trecobat:Calendar5DaysPerWeek:view:1.0.1'
但系统找不到这个库,报错信息如下:
Could not find com.Trecobat:Calendar5DaysPerWeek:view. Required project :app Search in build.gradle files
解决方法
你直接写的依赖坐标没发布到公开或本地Maven仓库,所以Gradle找不到。下面是两种简单可行的使用方式:
方式一:直接导入本地模块
- 把你Fork的仓库克隆到本地,或者在Android Studio里导入模块:点击
File > New > Import Module,选择Fork仓库的根目录(要包含build.gradle文件)。 - 修改app模块的
build.gradle(或build.gradle.kts),替换原来的依赖:implementation project(":calendar") // 模块名要和你导入的一致,可能是Calendar5DaysPerWeek,看导入时的设置 - 同步Gradle,之后就能正常用Fork后的代码了。
方式二:发布到本地Maven仓库
- 在Fork仓库的根
build.gradle(或build.gradle.kts)里添加Maven发布配置:
Groovy版本:
Kotlin KTS版本:plugins { id 'maven-publish' } publishing { publications { release(MavenPublication) { from components.release groupId = 'com.Trecobat' artifactId = 'Calendar5DaysPerWeek' version = '1.0.1' } } }plugins { `maven-publish` } publishing { publications { create<MavenPublication>("release") { from(components["release"]) groupId = "com.Trecobat" artifactId = "Calendar5DaysPerWeek" version = "1.0.1" } } } - 在Android Studio右侧Gradle面板,找到Fork仓库的
Tasks > publishing > publishToMavenLocal,运行这个任务,把库发布到本地Maven仓库。 - 在你的项目根
build.gradle(或settings.gradle.kts)里添加本地Maven仓库:
Groovy版本:
Kotlin KTS版本:repositories { mavenLocal() google() mavenCentral() }repositories { mavenLocal() google() mavenCentral() } - 回到app模块的
build.gradle,修改依赖(去掉多余的:view,因为发布的artifactId已包含模块信息):implementation 'com.Trecobat:Calendar5DaysPerWeek:1.0.1' - 同步Gradle,就能正常引用Fork的库了。
内容的提问来源于stack exchange,提问作者V4IER
相关产品推荐
相关产品推荐

