如何将安卓 Gradle 模块打包发布到本地 Maven 仓库

这篇具有很好参考价值的文章主要介绍了如何将安卓 Gradle 模块打包发布到本地 Maven 仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔者的运行环境:

  • Android Studio Flamingo | 2022.2.1

  • Android SDK 33

  • Gradle 8.0.1

  • JDK 17

  Android 的 Gradle 项目与一般的 Gradle 项目是不同的,因此对将 Gradle 模块打包发布到本地 Maven 仓库来说,对普通 Gradle 项目适用的方法,对 Android 项目是不适用的。

  因为普通 Gradle 项目打包生成的是 JAR 包,而 Android 项目打包生成的是 AAR 包。不过说到底,AAR 包和 JAR 包一样,也就是一种压缩包。只不过,AAR 包是在 JAR 包的基础之上的二次压缩。具体来说,AAR 包是将源码编译生成的 JAR 包再和安卓的清单文件放在一起又制成了一个新的压缩包。

  不过,也就是这点区别导致了它们关于发布到 Maven 仓库的流程有些不同。

具体流程

  1. 首先,需要先安装 Maven,否则 Gradle 将无法感知本地 Maven 仓库的位置。关于这方面的内容,可见笔者的另一篇博客:

    Maven 的下载安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/112689500

  2. 这里以安卓打包发布到本地 Maven 仓库的流程为例,并假设读者使用的是一种 Gradle 多模块项目。这里演示的是将其中的一个模块打包发布到本地的 Maven 仓库。

  3. 在需要打包发布到本地 Maven 仓库的那个模块的 build.gradle 中,添加如下代码。

    plugins {
        id 'maven-publish'
    }
    
    task sourceJar(type: Jar) {
        from android.sourceSets.main.java.srcDirs
        archiveClassifier = "sources"
    }
    
    publishing {
        publications {
            maven(MavenPublication) {
                groupId = 'Maven 模块的 groupId'
                artifactId = 'Maven 模块的 artifactId'
                version = 'Maven 模块的 version'
    
                // 上传 AAR 包
                afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
                // 向 Maven 仓库中上传源码
                artifact sourceJar
            }
        }
    }
    

    其中,读者需要将上述代码中的 groupId、artifactId、version 改成实际的值。


    【提示】

      有人可能会使用如下额外的配置:

    publishing {
        // ...省略其它内容...
        repositories {
            maven {
                url = "http://my.org/repo"
            }
        }
    }
    

      此配置是将 Gradle 模块发送到 Maven 网络仓库上时才需要设置的。对本文来说,这是不必要的。


  4. 在 Android 上的 Gradle 面板中点击 publishToMavenLocal 即可完成发布。

    gradle打包到本地仓库,教程/入门使用,Android,android,maven,Gradle,模块化


    【踩坑提醒】

      有的读者可能会遇到 Gradle 面板没有 publishToMavenLocal 这一选项的问题。关于这方面的内容,可见笔者的另一篇博客:

      解决 Android Studio 的 Gradle 面板上只有关于测试的 task 的问题:
    https://blog.csdn.net/wangpaiblog/article/details/132124402


  5. 发布到本地 Maven 仓库成功之后,Gradle 会在 Maven 仓库在相应位置创建三个文件:

    • artifactId-version.aar

    • artifactId-version.pom

    • artifactId-version-sources.jar

  6. 然后,在 Gradle 项目中的根模块中的 settings.gradle 添加如下代码来引入本地 Maven 仓库。这样 Gradle 在解析依赖时就会额外去本地 Maven 仓库中寻找。

    dependencyResolutionManagement {
        repositories {
            mavenLocal()
        }
    }
    
  7. 现在,在 Gradle 项目中就可以像其它依赖一样使用 implementation 来引用刚发布到本地 Maven 仓库的依赖了。文章来源地址https://www.toymoban.com/news/detail-787645.html

到了这里,关于如何将安卓 Gradle 模块打包发布到本地 Maven 仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • maven install命令:将包安装在本地仓库,供本地的其它工程或者模块依赖

    有时候,自己本地的maven工程依赖于本地的其它工程,或者manven工程中的一个模块依赖于另外的模块,可以执行maven的install命令,将被依赖的包安装在maven本地仓库。 maven的install插件的介绍可以参考:https://maven.apache.org/plugins/maven-install-plugin/ maven的install插件有三个goals: ins

    2024年02月14日
    浏览(42)
  • Maven(五)如何只打包项目某个模块及其依赖模块?

    在 SpringCloud 微服务框架下,会存在多个模块。当我们需要对其中某一个服务打包的时候,需要将该服务依赖的模块一起打包更新,如果项目比较小的话我们可以直接将项目中的所有模块进行 clean install 即可。 但是当项目运行一段时间后,项目中的代码量会变得很多,每个模

    2024年01月23日
    浏览(42)
  • 如何下载远程maven仓库的jar 手动放到本地仓库?

    文章目录 如何下载远程maven仓库的jar 手动放到本地仓库? 简单步骤描述: 详细步骤描述: 案例1: 案例2: 结语 在使用Maven构建Java项目时,通常会从中央仓库或其他远程仓库下载所需的依赖库。但是,有时候我们需要手动下载这些依赖库并将它们放到本地仓库,这里提供一个简单

    2024年02月09日
    浏览(59)
  • 阿里云Maven和Gradle仓库最新配置

       阿里云云效 Maven 是什么?    阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。    官网地址:https://developer.aliyun.com/mvn/guide 仓库名称 阿里云仓库地址 central https://mav

    2024年02月10日
    浏览(39)
  • Unity2021打包安卓失败CommandInvokationFailure: Gradle build failed等问题

    查阅了大量资料都没有真正解决掉问题网上的那些解决方案太老了,而且用最新版的人数较少 1.删除C:UsersXXX.gradle 整个文件.gradle 整个删除 如果被占用重启电脑删除 这个文件在打包时会自动生成 XXX代表当前你电脑的用户名每个人不一样 2.将编辑器安装目录下的打开D:Unity

    2024年02月15日
    浏览(30)
  • Unity2020打包安卓时配置环境踩过的坑(JDK&SDK&NDK&Gradle详解)

    之前的打包环境都是吃现成的, 这次新公司需要自己配置,踩了坑记录一下,以防之后遗忘.  如果是 用Hub管理的项目 可以通过Hub 去下载 安装内置的Open JDK ,SDK 等很方便也稳定. 没有用Hub的话 只能自己苦逼的去一个一个下载和配置 或者 通过Android studio 去下载. 1. JDK        

    2023年04月13日
    浏览(30)
  • 发布jar包到maven中央仓库

    在网上找的很多文章中写得都有很多问题,这里记录一下最近一次成功地发布jar包到maven中央仓库的过程。并附带上每一个步骤官方的指导链接。 系统 :mac(windows系统在下载辅助工具时不太一样,在配置上和mac系统没有区别) IDE :IntelliJ IDEA JDK :1.8 maven :3.8.1(IDEA自带的

    2024年02月05日
    浏览(40)
  • Maven发布中央仓库始终报403

    把域名 oss.sonatype.org  全部替换为: s01 .oss.sonatype.org  

    2024年02月15日
    浏览(24)
  • Android 开源库发布到MavenCentral,jitpack (gradle-maven-publish-plugin(1)

    Email: 邮箱帐号,在 Sonatype 上的相关操作,会通知到这个邮箱帐号 Full name: 填写联系人名称 Username: Sonatype 的登录帐号 Password: 登录密码,要求至少8位,并带有大小写字母和字符 / 创建Project工单 /注册完成后,就可以进行登录了,登录进去后,可以发现,他其实是一个JIRA系统

    2024年04月15日
    浏览(37)
  • uniapp-安卓调试打包发布超详细!!流程

    一、点击运行,运行到手机或模拟器,没有安装插件到话会显示,安装真机运行插件。 二、安装好之后显示界面会更新。  三、 3.1、数据线连接手机 3.2、安卓手机 开启开发者模式 备注:第一次开启需要,在设置中找到自己的版本号(可以在设置里搜索版本号,找到自己手机

    2024年01月17日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包