前言
在开发过程中,经常会封装一些jar、aar包给第三方的项目使用,但是如何发布到Maven服务器或自定义的nexus仓库呢?本文会结合最近我刚做的一个案例和大家简单的介绍一下。这样做的好处是,便于库文件的版本管理,便于多项目多团队的协同工作。
aar和jar的区别
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含。
如果你只是一个简单的类库那么使用生成的*.jar文件即可。
如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
gradle.properties
在Android项目根目录中的gradle.properties文件中配置动态打包的相关信息。
gradle.properties配置信息nexus-push.gradle
编写发布脚本nexus-push.gradle,在脚本中可以进行一系列的自定义配置。截取最主要的一段和大家分享,当然网上也有类似的脚本。
nexus-push.gradle push脚本配置Build Types
在开发过程中,我们喜欢把开发和生产坏境的配置区别开,比如IP、端口等。gradle也很好地给我们提供了buildTypes的功能。大家在这边可能会遇到Build Types配置不生效的问题。
解决AndroidStudio中gradle的buildTypes配置不生效问题
按照以往的配置的写法这边还是会有问题,因为脚本默认打的jar包或者aar包都是release版本,我们需要写一些条件来人为的选择打包的分支。
配置打包分支动态打包发布
接下来需要跑我们写好的发布脚本,动态发布到我们的Nexus服务器上面去。
运行uploadArchives脚本第三方项目配置Maven
第一步在项目的根目录中引入自定义的Maven服务器。
配置自定义maven服务器引入jar包或者aar包
引入jar包或者aar包至此,Android Library库封装成aar包动态发布到nexus仓库完结。
Thanks 大眼杰克
Email:jxiaolee@aliyun.com
网友评论