android - 将自己的库从私有(private)存储库发布到 maven Central

标签 android maven-central

我创建了一个 Android客户库,存储在私有(private)存储库中(可以是 Github 或 Bitbucket,没关系)。现在这个库应该发布到 mavenCentral 以供其他程序员将来使用。并且有两个重要的要求:

  • 库的代码必须在私有(private)存储库中,其他将使用它的程序员将无法下载存储库。
  • 库的代码必须被混淆,将使用它的程序员将能够使用方法,但将无法看到该方法的代码。
  • 程序员将能够像往常一样通过 gradle 实现库

  • 我怎样才能做到这一点?我找到了许多关于 mavenCentral 的教程,但它们都只用于公共(public) repo 。

    最佳答案

    我有点面临一些类似的问题。但是,我喜欢下面这个链接中的想法:
    https://medium.com/student-beans/publishing-a-library-as-a-aar-package-55ed725fa638
    创建 .aar 文件 -> 创建新的 repo -> 将您的 .aar 文件直接上传到 Github -> 创建发布版本 -> 使用 Jitpack 分发。
    这样人们就可以直接使用您的库,而无需查看实现。
    建议:如果您希望它更安全,我建议您为 AAR 分发创建一个单独的帐户。将 AAR 存储库设为私有(private),并将 Github token 仅分发给您的合作伙伴公司。 (这只是一个建议,我还没有测试过)
    更新:请按照以下教程进行操作,因为上述引用并不完全有效。
    https://www.talentica.com/blogs/publish-your-android-library-on-jitpack-for-better-reachability/
    从第一篇文章中获取 jitpack.yml 文件,并将其与上述教程中生成的 3 个文件一起添加到您的 GitHub 项目中。

    关于android - 将自己的库从私有(private)存储库发布到 maven Central,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68531161/

    相关文章:

    java - 相当于 Android 的 getch()

    android - MissingPluginException(在 channel plugins.flutter.io/firebase_core 上找不到方法 Firebase#initializeCore 的实现) Release模式

    java - Maven 依赖项失败并出现 501 错误

    gradle - 为什么jcenter缺少javers版本?

    android - Gradle 无法解析 otto 库

    android - 将数据解析为数组

    android - 当应用程序对用户不可见时如何停止背景音乐

    java - IllegalArgumentException Android 中的 SQLite 数据库绑定(bind)值索引 1 为 null

    java - maven central 是否希望共享源 URL?

    maven - 为什么我从 Maven Central 获取 "Received fatal alert: protocol_version"或 "peer not authenticated"?