注意:推荐第三种方式,会自动上传到Maven仓库。无论何种方式生成的aar包,都支持第三方依赖,如果依赖不存在,请检查上传方式,看到文章最后有解决方法。
一、第一种方式生成aar包:
1、moudle默认生成的aar包
其实SDK开发和app的开发都差不多,主要的区别在于SDK开发需要集成。集成也有两种方式一种是打包成jar包,另外一种是打包成aar文件,区别在于jar包的文件只有class类不包含资源文件,aar包含资源文件。
2、点击androidstudio右上角的gradle 步骤如下 点击 assembleRelease
3、编译成功后 找到aar
二、第二种方式生成aar包:
1、配置maven-publish,右侧task任务会有publishing
plugins { id 'maven-publish' }
2、配置maven自动上传
android { afterEvaluate { publishing { repositories { maven { allowInsecureProtocol = true url = MAVEN_FARM_MODULE_URL as String credentials { username NEXUS_USERNAME as String password NEXUS_PASSWORD as String } } } publications { releaseAAR(MavenPublication) { groupId = GROUP_ID artifactId = "coon" version = "2.0.9" from components.release } } } task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles } artifacts { archives androidSourcesJar } } }
3、点击任务列表上的publish后,会自动上传到maven仓库。
三、第三种方式生成aar包:
1、moudle中的build.gradle中添加一句话
apply from: "nexus-publish-common.gradle"
2、nexus-publish-common.gradle文件
apply plugin: 'maven' afterEvaluate { project -> uploadArchives { configuration = configurations.archives repositories { mavenDeployer { repository(url: MAVEN_FARM_MODULE_URL) { authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) } pom.project { groupId = GROUP_ID artifactId = "coon" version = "2.1.0" packaging TYPE } } } } task androidSourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.sourceFiles } artifacts { archives androidSourcesJar } }
3、项目中gradle.properties配置参数值
#Maven????o?????????????????o?URL MAVEN_FARM_MODULE_URL=http://aaa.bbb.com/reory/ura-android/ #??????nexus ossde?????¨??·??? NEXUS_USERNAME=admin #??????nexus oss????ˉ?? ? NEXUS_PASSWORD=123456 #?ˉ1?o?maven???GroupId?????? GROUP_ID =com.rgoo.aaa #?? ????±???? TYPE = aar
4、看到右侧任务列表生成一个upload的任务
四、手动上传aar包到maven仓库
注意:这个勾不要勾上,否则aar包依赖的第三方找不到。
最后
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。
欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓(文末还有ChatGPT机器人小福利哦,大家千万不要错过)
PS:群里还设有ChatGPT机器人,可以解答大家在工作上或者是技术上的问题