首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:发布aar包到maven仓库以及 maven插件 和 maven-publish 插件的区别

发布 aar 包到 maven 仓库,主要是使用 Gradle 提供的插件: maven 插件(旧版),在 Gradle 6.2 之后,就完全被弃用了(增加了 @Deprecated 注解) maven-publish...提供的 maven 插件 和 maven-publish 插件,如何发布aar/jar包。...二、maven 插件 maven 插件是 Gradle 1.0的时候提供的,使用 maven 插件,遵循如下步骤: 1、使用 maven 插件 在 需要发布aar包的 library 模块的 build.gradle...插件 插件类:MavenPublishPlugin 在 Gradle 6.2 之后, maven 插件就彻底被废弃,无法使用了,只能使用 maven-publish 插件,因此 maven-publish...1、maven-publish插件的基本使用 应用插件: apply plugin: "maven-publish" **配置发布产物:**使用 maven-publish 插件发布aar 包的时候,基础

4.5K30

Android工程化实践:组件化发布

Maven 构建生命周期 我们需要使用 Maven 插件来发布类库,简单理解下 Maven 构建的生命周期,主要分为以下个步骤: 任务 阶段 描述 compile 编译 编译源代码 test 测试 执行单元测试...如何发布组件(artifacts) 在 Gradle 中发布组件,可以使用以下两个 Maven 插件: Maven Plugin(旧版) Maven Publish Plugin 发布到本地仓库 我们需要使用...$8 指定发布二进制文件 使用新版 Maven 插件,可以直接以指定二进制文件的方式发布组件。...你需要 build.gradle 文件中声明 aar 的 Flat Directory 仓库地址。你可以放在 android{} 节点内,或者直接放在根节点,效果是一样的。...方法 1:直接依赖改为间接依赖:新建模块封装 aar,对外部提供外观 API 方法 2:统一将 aar 文件放置在一个文件夹,并在项目级 build.gradle 中声明仓库地址: 项目级 build.gradle

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我做了款组件上传的插件

    做这款插件确实有点吃饱了没事干的嫌疑,毕竟 maven-publish 已经提供了很好的支持,但一想到每次都要写一遍那一大段的 publishing 又会觉得,能省几行代码是几行代码,也看过其他人将 publishing...,顺便也总结一下,最后再说一下如何接入这款插件。...问题记录 1、project exec commandLine 问题 在做 uploadGithub 插件时,在组件打包完成后,需要将配置的仓库 clone 到本地,然后将 aar 文件拷贝到仓库目录中...,然后再将组件 aar 上传到配置的仓库,但在执行 git add ${aar 文件} 命令时没有任何反应,即使使用 git add ....最终,整个 Git 链路写成了: commandLine 实现 git clone 项目到本地 JGit 实现 aar 文件的 git add JGit 实现 aar 文件的 git commit commandLine

    1K40

    Android Studio Maven编译与POM文档中 scope的差异

    例如apply plugin: 'maven-publish' 和apply plugin: 'maven'。这其实是两个maven插件。这两个maven插件生成的pom文件有部分区别。...但是依赖的时候就是提示找不到相关aar文件。 本篇文章就是针对这个问题进行解释。 希望能够给小伙伴们提供一点帮助。 问题 我们有一个aar项目要编译,假如它叫做Zin.aar 。...但是你如果使用apply plugin: 'maven' 就不会出现这个问题。因为这个插件编译的pom文件中没有scope。...方案1是比较新的插件。建议大家还是尽量使用apply plugin: 'maven-publish'进行打包。这样更规范更符合标准。...如何使用maven进行打包,可以参考我的这篇文章:利用 Gitlab搭建 maven仓库 - Z同学 (zinyan.com) 以及这篇:Android Maven 打包不同的Flavors 的aar文件

    49520

    从精准化测试看ASM在Android中的强势插入-Gradle插件

    文件夹,是一个系统保留目录,可以直接运行插件代码而不用引用插件包 独立项目:类似module,单独编译成jar使用 创建 Gradle中自带了创建模板项目的方法——gradle init,通过这个指令,...新版本的Gradle插件结构已经和之前的不太一样了,新版本的Gradle插件不再需要resources目录来申明插件的入口meta-info文件,而是直接写在了build.gradle里面,类似这样。...一般来说,我们会使用本地Maven库来调试插件,借助Gradle的maven-publish插件,我们可以和方便的发布插件到本地Maven库。...使用 在使用插件的项目根目录Gradle文件中,指定访问mavenLocal,同时,使用groupId、artifactId和version组成对插件的引用,如下所示。...串联起来,Transform会拿到上一个Transform编译后的class文件,以及jar和aar资源、和asset目录下的资源文件作为自己的输入,同时做好处理后,也需要将这些内容作为自己的输出内容输出给下一个

    1.1K40

    SDK集成第三方依赖发布Maven的方法

    转载是一种动力 分享是一种美德 aar引用很简单,将aar复制到libs包下,在项目的build.gradle文件中增加以下代码即可(以aarName.aar为为例): compile(name:'...' 若采用上面的方法引用则在运行时会找不到okhttp3 库中的类。...针对这种问题可以采用maven仓库来解决,我们可以将aar生成到本地或远程maven仓库,再引用仓库中的aar。或上传maven仓库到服务端或着私服等都可..../repo" } google() jcenter() } 在module工程build.gradle脚本最下方加入如下脚本配置 apply plugin: 'maven-publish'publishing...: implementation('com.anymarvel.test:AnyMarvel:1.0') 会同步maven中指定的依赖库及版本,若工程中和aar中依赖版本由冲突会由报错,使用如下方法进行规避

    2.4K20

    用 Github 实现组件自动发布

    大家肯定都有这样的需求,将自己的组件发布出去给开发者使用,但苦于经常使用的 JCenter 已挂,自己搭个 Nexus 还要买服务器,看了 MavenCentral 的发布流程,简直痛苦到发麻,现在的...JitPack 还可以凑合着用用,但是发布要去网站手动点 Get it,而且最近还遇到了在 JitPack 发布插件无法发布的问题,种种问题都让我觉得现在的组件发布都非常的蛋疼。...,我的 checkPlugin 插件就是这么玩的 二、方案 看了上述 Github 的现有方案,是不是觉得很麻烦?...确实如此,我们只需要对组件进行小小的改造,打开组件的 build.gradle,进行如下的配置: plugins { ......那么,我们的 workflow 就可以改成: 接下来,我们要寻找一下,如何将构建后的组件发布到另一个仓库 3、组件发布 敲起我的键盘就在 google 一阵乱搜 Actions,别说,还真搜到一个,https

    88750

    从Android到React Native开发(四、打包流程解析和发布为Maven库)

    本地多aar文件的合并实现。 进一步的Gradle脚本理解。 如何发布一个React Native的Maven库。 OK,Let't do it (-_^)。  [163f93eee0649c4b?...一、引用  使用过React Native的应该知道,依赖的库都是通过npm install安装,安装后的所有源码存在于node_modules文件夹中,如果依赖的库需要原生代码的支持,需要通过react-native...那么默认的maven发布方式,只会发布指定module的aar文件,对于引用的其他module模块,这些dependencies列在了与aar文件同目录的.pom文件中,并不会打包仅aar,而明显React...这时候,就需要通过gradle脚本,手动对依赖的module模块,实现aar文件内容的合并。...当然,如何合并,合并的时机这些都是需要处理的点。而这时候, android-fat-aar 脚本,刚好满足的我们的需求。

    2.1K40

    从Android到React Native开发(四、打包流程解析和发布为Maven库)

    本地多aar文件的合并实现。 进一步的Gradle脚本理解。 如何发布一个React Native的Maven库。 OK,Let't do it (-_^)。 ?  ...这时候,就需要通过gradle脚本,手动对依赖的module模块,实现aar文件内容的合并。...当然,如何合并,合并的时机这些都是需要处理的点。而这时候, android-fat-aar 脚本,刚好满足的我们的需求。.../gradlew assembleRelease,让react脚本生成我们需要的资源文件,然后再引用publish.gradle发布aar到maven即可。 ?...四、最后  如何,最终实现过程其实并不复杂,总结起来: 创建一个android.library 添加本地dependencies依赖 apply react.gradle 、 fat-aar.gradle

    2.4K20

    Gradle 插件

    4、可以 对项目进行一些约定,如应用 Java 插件后,约定 src/main/java 目录是我们的源代码存在位置,编译时编译这个 目录下的 Java 源代码文件 3、插件的分类和使用 第一种:脚本插件...脚本插件的本质就是一个脚本文件,使用脚本插件时通过 apply from:将脚本加载进来就可以了,后面的脚本文件可以是 本地的也可以是网络上的脚本文件,下面定义一段脚本,我们在 build.gradle...apply plugin: 'java' //核心插件,无需事先引入,使用方式3:插件的id Gradle 中提供的二进制插件【核心插件】,可参考:https://docs.gradle.org/current...id 'org.springframework.boot' version '2.4.1' } 注意: 1.如果使用老式插件方式 buildscript{}要放在 build.gradle 文件的最前面.../gradle hello 即可,这种方式实现的插件我们一般不使用,因为这种方式局限性太强,只能本 Project,而其他的 Project 不能使用。

    66220

    Gradle插件开发-上传Apk到Bugly

    前言 上一篇文章已经给大家详细介绍了如何通过Gradle将我们开发好的Library上传到JCenter,基本上就是一系列配置,最后通过Gradle脚本将Library打包成jar或者aar包上传到maven...本篇博客还是基于Gradle,但稍微进阶一下,将跟大家分享一下如何开发一个Gradle插件,这个插件是我为Bugly开发的自动上传apk文件的Gradle插件,目前已经开源,有兴趣的朋友可以到github...你可以看到我们在android studio所用到的所有插件和Library都会下载这个目录下,这下子你应该对gradle引用插件的原理有一定的理解了吧。 如何开发Gradle插件?...代码开发完毕之后,在resources/META-INF/gradle-plugins目录下新建一个properties文件,注意该文件的命名就是你使用插件的名字,这里命名为com.tencent.bugly.plugin.betauploader.properties...具体的使用方法,可以参考:https://bugly.qq.com/betaGradle 最后 关于Gradle插件的开发也告一段落啦,相对来说这个插件的功能还比较单一,更加复杂的插件开发可以参考其他开源的项目

    1.4K60

    Gradle依赖管理解析

    小编说:依赖管理是Gradle 最耀眼的特点之一。 最佳情况下,你需要做的仅仅是在构建文件中添加一行代码,Gradle 将会从远程仓库下载依赖,确保你的项目能够使用依赖中的类。...你还需要确保依赖库中存储在了源代码管理系统,以便团队成员在没有手动下载这些依赖时,也可以使用基于依赖的代码。 使用依赖仓库可以解决这些问题。一个依赖仓库可以被看作是文件的集合。...下面将介绍如何使用文件依赖、如何引入原生依赖,以及在项目中如何引入依赖项目。...②使用.aar 文件 如果你创建了一个依赖库,并且想在不同的Android 应用中复用,那么你可以创建一个.aar 文件,然后将其作为一个依赖添加到你的项目中。...总结 本文我们研究了添加依赖到Android 项目的多种方式,学习了所有形式的依赖仓库,以及在未使用依赖仓库时,如何依赖文件。还介绍了关于依赖的一些重要概念:配置名称、语义化版本、动态化版本。

    2.1K20

    第十章 Android Gradle多项目构建

    根项目会有一个setting.gradle配置文件,每个项目里都有一个build.gradle文件,所以他们的结构为: 这就是一个完成的工程了,里面只要再加上一些Java文件、资源等等,就可以编译运行了...,我们看下setting.gradle配置文件,也是非常简单的。...这时候就是告诉Android Gradle插件我们这个库工程要同时发布不同的aar,这时候Android Gradle就会生成多个aar以供被其他项目引用,下面看下我们怎么分别引用他们。...以上这些引用都是在项目立直接引用,下一节我们讲如何发布我们的aar包到Maven中心库,以供其他项目引用。...,这类就可以单独发布出去,被其他项目使用,就像我们引用jcenter上的类库一样方便,这一节我们就讲如何把库项目单独的发布到我们自己的Maven中心库.

    74810

    Gradle 插件

    插件的作用 插件可以封装一系列任务,例如 编译,测试,打包等。 插进可以定义约定,例如 应用Java 插件后,约定的源代码位置就在 src/main/java 目录下。...Gradle 通常是在下面这个几个地方去寻找 在上述提到的 Plugins 网站上或者自定义的仓库里 在指定的外部依赖 jar 在项目的 buildSrc 目录下寻找源文件 声明在脚本里的插件 目前有两种方式使用插件.../build.gradle plugins { id 'org.gradle.sample.goodbye' } 上面的示例演示了如何给多个子项目分别应用不同的插件。...可以把所有的版本都放在一个单独的脚本里,或者是使用 gradle.properties 文件配置属性 settings.gradle pluginManagement { plugins {...例如,下面的完整示例 sample-plugins 演示了如何使用 java-gradle-plugin,maven-publish 插件和 ivy-publish 插件的组合将 org.gradle.sample.hello

    1.2K10

    Gradle 自定义插件

    你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码在 JVM 运行的。 Gradle 有两种插件,脚本插件和二进制插件。...执行 maven-publish 的 publish 任务,将插件发布到指定仓库。 ? 发布成功后的仓库 ? 插件创建完成了,也发布了,下面就是使用这个插件了。...plugins { id 'java-gradle-plugin' } 使用 gradlePlugin {} 配置块可以配置开发的每一个插件,不用手动创建对应的属性文件了。...配合 maven-publish 可以为每个插件创建对应的发布任务。 在发布时也会为每个插件发布对应的 “插件标记工件” 。...的任务 简单介绍一下 maven-publish 的发布任务 generatePomFileFor${PubName}Publication 为名字为 PubName 的的发布创建一个 POM 文件

    2K20
    领券