jitpack.io 无法解析 github repo

Posted

技术标签:

【中文标题】jitpack.io 无法解析 github repo【英文标题】:jitpack.io failed to resolve github repo 【发布时间】:2016-01-08 14:07:14 【问题描述】:

我有一个Github repo 并在上面推送了标签。

这是我的主项目的 gradle 文件。

apply plugin: 'com.android.application'

android 
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig 
        applicationId "dropbox.ric.es.myapplication"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    


repositories 
    //mavenCentral()
    //jcenter()

    maven  url "https://jitpack.io" 



dependencies 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.github.rchampa:DropboxHttpConector:1.0.1'

但是当我同步 gradle 时出现以下错误 Failed to resolve com.github.rchampa:DropboxHttpConector:1.0.1

另一个尝试:

allprojects 
    repositories 
        jcenter()
        maven  url "https://jitpack.io" 
    


dependencies 
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.github.rchampa:DropboxHttpConector:1.0.1'

仍然失败。

【问题讨论】:

以防其他人落入这个陷阱:确保将maven url ... 包含在allprojects 块中,而不是buildscript 块中。 Alexander Pacha 的建议为我解决了这个问题。添加为下面的答案。 【参考方案1】:

对于犯了我犯的简单错误的其他人:

确保在allprojects 下添加maven url "https://jitpack.io" 而不是buildscript

项目build.gradle文件:

buildscript 
    repositories 
        jcenter()
        // DO NOT ADD IT HERE!!!
    
    ...


allprojects 
    repositories 
        mavenLocal()
        jcenter()
        // ADD IT HERE
        maven  url "https://jitpack.io" 
    

感谢Alexander Pacha 在上面的评论中指出这一点。

【讨论】:

同样的错误:) 谢谢你这是我的问题 对我不起作用,继续使用Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.github.any_jitpack_lib @Choletski 当你第一次请求这个依赖时,Jitpack 正在构建它,所以你应该等到它完成,然后在 android studio 中点击try again 对于较新的 android studio 项目,此块已移至 settings.gradle,我们必须将其添加到那里。这非常有帮助,我为为什么我的仓库无法获取我的库而烦恼。非常非常非常感谢!!!!【参考方案2】:

经过几次尝试并感谢 jitpack 支持,现在我可以将托管在 Github 中的库作为 Android Gradle 依赖项导入。

我将提供一些非常有用的链接:

如何设置你的 java 库

https://jitpack.io/docs/BUILDING/#gradle-projects

如何在 jitpack 中检查你的依赖日志

https://jitpack.io/com/github/USER/REPO/TAG/build.log

就我而言

https://jitpack.io/com/github/rchampa/DropboxHttpConector/1.0.3/build.log

【讨论】:

你是怎么解决的?因为我有同样的问题,我遵循了所有的指南,但无事可做.. @Ricardo 我无法创建新问题,请使用解决方案 @Ricardo 更新此帖子 发布您遵循的步骤 我不记得我遵循了哪些步骤。但是告诉我哪个是你的仓库并检查是什么给了你日志jitpack.io/com/github/rchampa/DropboxHttpConector/1.0.3/… 如果你在 build.log 中有一个带有发布标签的错误,你必须创建另一个标签来修复问题。 Outch,现在看起来很明显,但实际上不是......【参考方案3】:

我有几个来自 Jitpack 的依赖项,我在迁移到 Gradle 2 后遇到了这个问题。

就我而言,解决方案是将gradle-wrapper.properties 中的distributionUrl 中的版本从2.10(当我接受更新包装器版本时由Studio 自动设置)更改为latest 版本。

【讨论】:

【参考方案4】:

较新版本的 Android Studio 不再使用 allprojects

打开文件 settings.gradle 并添加存储库,如下所示:

dependencyResolutionManagement 
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories 
        google()
        mavenCentral()
        maven  url 'https://jitpack.io'  // <- here we go
        jcenter()
    

同时删除文件项目的build.gradle中的以下代码,如果它仍然存在的话:

allprojects 
repositories 
    jcenter()
    maven  url "https://jitpack.io" 

【讨论】:

这解决了我的问题。我为此失去了理智。这个答案的评分应该更高,让更多人看到。【参考方案5】:

哈利路亚我有问题!

所以我意识到问题取决于我的网络!我无法从我的 IP 访问https://jitpack.io/,这就是为什么没有任何工作。刚刚从 GSM 模块共享互联网(以获得不同的 IP),使用@SteveMellross solution 问题就解决了

也许有 0.001% 的人有同样的问题,但如果没有任何效果,请尝试访问 https://jitpack.io/ ;)

我希望只是防火墙或内部路由器错误,并且我的 IP 没有被他们的服务禁止。

【讨论】:

【参考方案6】:

验证 maven url "https://jitpack.io" 是否在 build.gradle(项目)的 allprojects 部分中

【讨论】:

【参考方案7】:

对我来说,我这样做了

1.Forked原始未维护的repo

2.做了一些更改,创建了提交

3.从提交详细信息页面 url 复制提交哈希 例如https://github.com/omkar-tenkale/NavigationTabStrip/commit/9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0

4.从repo url创建实现字符串

实现'com.github.User:Repo:Version'

    Group: com.github.Username
    Artifact: Repository Name
    Version: Release tag, commit hash or master-SNAPSHOT
    More at https://github.com/jitpack/jitpack.io

我使用提交哈希作为版本

实施 'com.github.omkar-tenkale:NavigationTabStrip:9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0'

5.现在在android app模块的build gradle中添加了这个

6.但出现错误 Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve...etc

7.创建以下格式的链接

https://jitpack.io/com/github/USER/REPO/TAG/build.log

就我而言 https://jitpack.io/com/github/omkar-tenkale/NavigationTabStrip/9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0/

8.在浏览器中打开此链接

9.看到这样的东西

NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0-javadoc.jar
NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0-sources.jar
NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0.aar
NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0.pom
NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0.pom.md5
NavigationTabStrip-9d097af9fe2167fc0dfc71d2e63d6194b2cebfb0.pom.sha1
build.log
    在工作室中再次同步 gradle 成功了!

这比下载repo、在我们的应用程序中作为模块导入然后使用它等要好得多。

每当您对此分叉的 repo 进行更改时,也不要忘记更新提交哈希!

【讨论】:

请注意,我最后没有按照自己的说明添加 /build.log,但它以某种方式起作用 我的情况完全相同,我尝试了不同版本的答案。在某些时候,我看到 Gradle 正在下载依赖项。但是依赖项似乎不存在。没有出现依赖项中的类。 @Delark 可能尝试使用不同的标签?有时有效【参考方案8】:

当我尝试从 github 导入 o​​rhanobut/logger 时遇到了这个问题。 然后我去 jitpack.io 并搜索包: find logger in jitpack 然后我点击日志图标,发现:

开始时间:2016 年 1 月 14 日星期四 11:56:56 UTC git:v1.9 提交 5abbc1563422457d4c23e1a0a412d2b0c7dc334e 合并:8ef1e6b 522d44d 作者:奥尔罕奥布特 日期:2015 年 5 月 25 日星期一 11:34:20 +0200

合并来自 orhanobut/oo/settings-fix 的拉取请求 #30 子模块状态: 运行 gradle 构建 Gradle 构建脚本 拿起 JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 正在下载https://services.gradle.org/distributions/gradle-2.2.1-all.zip

就是这样,它使用 gradle 2.2.1-all!

然后我去我的项目并在settings.gradle中将gradle版本更改为2.2.1,一切正常!

【讨论】:

【参考方案9】:

我正在使用Android Studio Arctic Fox 2020.3.1 | Canary 8 并遇到上述问题。 我的 repo 项目是一个纯 Kotlin 项目,我想将它导入到我的 Android 项目中。

以下是我为自己解决问题的几个步骤 - 它可能是解决问题的步骤之一或它们的组合。

    我最初推送的tagv0.0.1,但在我的Kotlin 项目的build.gradle 中,它是version '0.0.1',没有v。所以我renamed the tag 到0.0.1 并推送了标签。 @Ricardo 的 answer above 关于如何检查 JitPack 构建日志非常有用! 接下来,我在 Kotlin 存储库中的本地计算机上运行 ./gradlew install。这是 JitPack 运行的命令之一 - 请参阅 JitPack documentation。当我这样做时,我发现了这条消息:Declare the version of Java your build requires。 根据该消息,我决定指定 Java 版本。在 Kotlin 项目中build.gradle 我添加了sourceCompatibility = 1.8compileKotlin kotlinOptions jvmTarget = "1.8" 重新运行第2步的命令后,Java版本问题消失了。 我推送了我的 Kotlin 存储库的新版本并添加了一个新标签。 在Android项目中,我不得不在settings.gradle中添加maven url "https://jitpack.io" 。在app 或根文件的build.gradle 文件中添加它时遇到错误。

【讨论】:

【参考方案10】:

我知道这是旧的,但我最近遇到了这个问题,我通过添加解决了它

maven  url 'https://jitpack.io' 

dependencyResolutionManagementrepositories$HERE 下的settings.gradle(ProjectSettings)。我不知道是推荐还是侥幸,因为我还不是很精通。

【讨论】:

以上是关于jitpack.io 无法解析 github repo的主要内容,如果未能解决你的问题,请参考以下文章

Android/Jitpack:无法导入子模块

Github私有库上传到JitPack

如何手动从 jitpack.io 下载 aar 和 pom 文件?

Android Studio发布库到JitPack

Android Studio发布库到JitPack

安卓上传aar到 jitpack 仓库使用和示例