代码之家  ›  专栏  ›  技术社区  ›  Gazihan Alankus Frank van Puffelen

JitPack不会使用包含GitHub repo的示例repo来演示这个问题

  •  4
  • Gazihan Alankus Frank van Puffelen  · 技术社区  · 7 年前

    每次我尝试分叉一个Android库并通过JitPack使用它时,我都会出错,放弃并选择其他方式来定制和使用该库。这一次,我想找到问题的根源,并创建了一个基本的应用程序来解决这个问题。你能下载下面的回购协议并告诉我我做错了什么吗?

    在这个repo中,是一个非常基本的Android应用程序: https://github.com/gazialankus/JitpackNotWorking https://jitpack.io/ 添加 https://github.com/ArthurHub/Android-Image-Cropper build.gradle 并在应用程序中添加了库依赖项 build.gradle

    compile 'com.github.ArthurHub:android-image-cropper:2.4.5'
    

    Gradle的同步很好,但android-image-cropper-2.4.5并没有显示在项目视图的外部库下。因此,应用程序不会生成此错误:

    Error:(6, 38) error: package com.theartofdev.edmodo.cropper does not exist
    

    build.gradle ,像这样使用没有JitPack的库很好:

    compile 'com.theartofdev.edmodo:android-image-cropper:2.4.5'
    

    我想也许JitPack无法建立这种回购。然而 JitPack log for this repository 说“ok”。

    Gradle和Java版本:在Android Studio菜单文件中>项目结构>项目中,Gradle版本为3.3,Android插件版本为2.3.3。在同一对话框中,SDK位置选项卡显示嵌入式JDK正在从C:\Program Files\Android\Android Studio\jre使用。

    > "C:\Program Files\Android\Android Studio\jre\bin\java.exe" -version 
    openjdk version "1.8.0_112-release"
    OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
    OpenJDK 64-Bit Server VM (build 25.112-b06, mixed mode)
    

    Android Studio中没有挂起的更新。

    非常感谢。

    已解决:请参阅 https://github.com/gazialankus/JitpackNotWorking/blob/master/README.md 了解更多详细信息。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Vampire    7 年前

    我认为问题在于团队和版本。

    build log 你可以看到Gradle调用中包含 -Pgroup=com.github.ArthurHub -Pversion=2.4.5 .但你看到的日志中也有 Found artifact: com.theartofdev.edmodo:android-image-cropper:2.4.5-SNAPSHOT 它实际上应该在哪里 Found artifact: com.github.ArthurHub:android-image-cropper:2.4.5

    您还可以在日志底部的文件列表中看到,只有POM生成,没有jar或aar。这也是Gradle同步在AS中成功的原因,因为依赖项pom被找到并且有效,所以该依赖项没有任何工件。

    如果你看看这个版本。你提到的项目的梯度,你可以看到他们没有使用 group version

    只要JitPack没有变得更智能,该项目就是不兼容的,并且不只是设置一些项目变量,而是添加一些重新配置发布或类似内容的init脚本。

    也许你应该改用复合构建。对于复合构建,您将声明一个二进制依赖项,如 com.theartofdev.edmodo:android-image-cropper:2.4.5