gpt4 book ai didi

android - 如何使用 jitpack 提供 AAR 文件

转载 作者:行者123 更新时间:2023-12-04 13:01:55 25 4
gpt4 key购买 nike

我想发布一个我一直在使用 jitpack 开发的 android 库。但我想在不发布源代码的情况下做到这一点。我不希望 jitpack 构建它,我将构建的输出(AAR 文件)上传到 github,我希望 jitpack 只为这些文件提供服务。

https://jitpack.io/docs/PRIVATE/#artifact-sharing 上的说明
不适用,因为 UI 不再具有允许共享工件的设置选项卡。

另外,有没有更好的方法来做到这一点?

任何帮助,将不胜感激。

最佳答案

我最近实际上解决了这个问题(示例 here ),主要是通过教程 here
步骤:

  • 准备aar文件。这可以使用“assembleRelease”gradle 任务来完成。您也应该考虑添加 Proguard 规则。您可能想要添加的一些规则的示例 here
  • 创建一个新的 Github 存储库,并在那里上传 aar 文件。
  • 将 2 个新文件放入存储库。一个是 jitpack.yml (非常重要的是在“-”之前有 2 个空格,而不是文章上写的):
  • install: 
    - FILE="-Dfile=mylibrary-release.aar"
    - mvn install:install-file $FILE -DgroupId=com.lb.sdktest -DartifactId=test -Dversion=1.0 -Dpackaging=aar -DgeneratePom=true
  • 另一个是 pom.xml :
  • <?xml version="1.0" encoding="iso-8859-1"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
    http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.lb.sdktest</groupId>
    <artifactId>test</artifactId>
    <version>1.0</version>
    </project>
    您应该根据需要更改“com.lb.sdktest”和“test”,但我认为它无论如何都会被忽略,因为它会根据它存在的位置在 Jitpack 上自动更改(在我的示例中,它更改为 implementation 'com.github.AndroidDeveloperLB:SdkTest:7' )
  • 在 Github 上,创建一个新版本,转到 Jitpack,将 URL 粘贴到那里(例如,我所做的 here),稍等片刻让版本出现,然后按“GET”按钮。

  • 而已。您将获得 SDK 用户有关如何使用新依赖项的新说明!
    编辑:虽然这工作正常,但我发现了一些重要问题,如果有人知道如何解决,将不胜感激:
  • 那些多余的文件是什么意思?为什么那里的值(value)观似乎被忽略了?
  • 我注意到 SDK 用户必须添加 aar 正在使用的所有依赖项。怎么来的?我在某处读到了 maven 插件,它是生成 pom 文件的那个,它也添加了依赖项。但是我怎样才能将它正确地用于 Jitpack?我尝试使用它,它确实生成了一个似乎具有依赖关系的 POM 文件。我尝试遵循所有可能的提示和指南,但仍然未能正确使用它。写了这个 here
  • 尽管我已经添加了许多 KotlinDocs(JavaDocs,但用于 Kotlin),但在生成 AAR 文件的过程中,它们会被完全删除。我不知道如何以任何方式保存它们。选择手动生成它(通过 IDE 有一种生成 JavaDocs 的方法),它没有成功,因为它说没有 Java 文件。我怎样才能生成它们并使它们可供 SDK 用户使用?
  • 当它变得模糊时,我注意到一件奇怪的事情:它删除了我制作的 Retrofit 类的一些重要部分。我已经写过这个 here ,我只是想知道这是解决它的最佳方法,还是有更好的方法。
  • 关于android - 如何使用 jitpack 提供 AAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54838606/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com