文章目录
- jar格式和aar格式的区别
- jar格式的打包上传方式
- aar格式的打包上传方式
在开发过程中,往往需要将公共的模块打包发布,场景有: 【Gradle|Android中打包发布的方式】
- 在存在许多模块的项目中,为了减少每次构建因为编译所有模块造成的时间长的问题,可以将每个模块打包成AAR并发布的本地,每次编译只需编译有改动的模块,可以减少编译时间。
- 对于公共模块,可以将其打包并发布到远程仓库,用Gradle管理供所有人使用。这对于SDK开发人员是经常遇到的。
jar格式和aar格式的区别 参考文章jar包与aar包的区别
jar格式的打包上传方式 加入需要将一个模块打包成jar包并上传的Maven仓库,该模块下的gradle文件如下所示:
// 引入 groovy 和 java 插件
apply plugin: 'groovy'
apply plugin: 'maven'group='com.hc.plugin'
version='1.0.0'uploadArchives {
repositories {
mavenDeployer {
//上传路径为本地路径
repository(url: uri('/Users/zengwenbing/Desktop/WorkSpace/work2/GradleExample/repos'))
//外面定义了version,这里也可以修改version
//pom.version = '0.0.1'
//pom.artifactId = 'myplugin'
}
}
}repositories {
jcenter()
}dependencies {
implementation gradleApi()
implementation localGroovy()
}
sync后对应本地路径的文件如图所示:
文章图片
aar格式的打包上传方式 首先一个模块在编译后会在build/output/aar路径下生成对应的aar文件,生成aar的方式参考官方文档。这里有一个名为module2的模块,点击Gradle中build/assemble后生成的aar文件如图:
文章图片
定义发布文件publish.gradle:
apply plugin: 'maven-publish'
publishing {
repositories {
maven {
// change to point to your repo, e.g. http://my.org/repo
//上传路径为本地路径
url = "file://${rootProject.projectDir.absolutePath}/project-maven"
}
}publications {
println "publishing publications"
VCamSDK(MavenPublication) {
groupId = 'com.zy.easygradle'
artifactId = 'ApiDemo'
version = '1.0.1.a'
artifact "${project.buildDir}/outputs/aar/module2-debug.aar"
//artifact androidSourcesJar
//from components.java
}
}
}
然后在module2模块的gradle文件中加上即可:
apply from: rootProject.getProjectDir().getAbsolutePath() + '/publish.gradle'
编译module2模块后点击Gradle中publishing/publish后会在对应路径生成相应的文件,如图所示:
文章图片
推荐阅读
- IDEA|JDK安装和配置教程
- Docker|微服务Docker部署jar包
- 运维|jenkins构建maven、git项目部署远程服务器完整过程
- Java修炼之旅|jenkins自动部署maven项目
- git|git maven 一键部署_jenkins+git+maven搭建自动化部署项目环境
- 常见的一些容器部署|idea中的Maven项目怎么配置Tomcat部署
- 常见的一些容器部署|CentOS7安装JDK8
- Java小案例|如何搭建Mybatis的开发基础环境
- Windows|Maven项目POM文件参数详解