前言

在日常工作及项目迭代过程中,一定有不少同学自己写了一些框架性的东西,或者一些好用的工具,总之就是能复用的代码。然而也有不少同学为了复用这些代码不得不复制粘贴到不同项目中,这样相同的功能出现了多份代码,在后期的维护过程中带来极度不便,更新一次SDK要口口传送多次且无法按版本迭代和降级。为了解决这一系列问题,我们不妨尝试将这些代码部署到maven仓库,一处编写多处使用。

Nexus 介绍

搭建私有Nexus仓库

下载 Nexus 安装包

下载 Nexus

解压 Nexus 文件

安装 Nexus

## 启动 Nexus 服务

nexus-3.15.2-01/bin/nexus start

控制台输出如下:

启动 Nexus 服务到此 Nexus 服务已经启动,访问 http://localhost:8081 即可访问 Nexus 私服,

初始账户:admin

初始密码:admin123

Nexus 服务器

Android Lib 发布私有仓库

项目配置

在项目根目录下 gradle.properties 中添加配置:

仓库地址如下:

仓库地址

# Maven仓库的URL

MAVEN_REPO_RELEASE_URL=http://localhost:8081/repository/maven-releases/

# 对应maven的GroupId的值

GROUP=maven-releases

# 登录nexus ossde的用户名

NEXUS_USERNAME=admin

#登录nexus oss的密码

NEXUS_PASSWORD=admin123

# groupid

GROUP_ID=cn.soulapp.android

# type

TYPE=aar

# description

DESCRIPTION=Soul Pay SDK By Android ~

在lib的build.gradle中添加:

// 添加maven依赖

apply plugin: 'maven'

...

// 配置上传指令

uploadArchives {

configuration = configurations.archives

repositories {

mavenDeployer {

repository(url: MAVEN_REPO_RELEASE_URL) {

authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)

}

pom.project {

version '1.0.3'

artifactId 'AndroidPaySDK'

groupId GROUP_ID

packaging TYPE

description DESCRIPTION

}

}

}

}

上传 library

执行指令:

./gradlew uploadArchives

等待发布成功~

使用 library

在根目录 build.gradle 加入

buildscript {

repositories {

google()

jcenter()

// 配置私有仓库地址

maven {

url 'http://localhost:8081/repository/SoulApp/'

}

}

dependencies {

classpath 'com.android.tools.build:gradle:3.3.1'

}

}

allprojects {

repositories {

google()

jcenter()

maven {

url 'http://localhost:8081/repository/SoulApp/'

}

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}

在依赖此 library 项目中引用

api 'cn.soulapp.android:AndroidPaySDK:1.0.3@aar'

结语

至此,基于 Nexus 搭建私有 Maven 仓库已完成,祝您工作愉快~

android 加载系统私有库,Android 搭建私有maven仓库及上传项目相关推荐

  1. Jfrog 搭建本地maven仓库以及上传Android库

    Jfrog 下载 安装包下载地址:Download Artifactory OSS | JFrog 如果是想下载之前的版本,可以点击上面的Get code source ,如果是最新版本,直接点下面的 ...

  2. android加载so文件失败,Android无法加载'.so.1'文件

    我想你还没有通过JNI加载原生库到Java的概念. 首先在java中定义本地方法并在本机中执行相应的实现并编译它(您必须按照命名约定注册本地方法1)2)在jni_onload中注册本地方法...我认为 ...

  3. android 加载更多,如何在android中实现加载更多的recyclerview

    我想在Recyclerview中实现更多的加载.这是代码. 代码来自 github. https://gist.github.com/ssinss/e06f12ef66c51252563e MainA ...

  4. android 加载更多动画效果,Android实践之带加载效果的下拉刷新上拉加载更多

    前言 之前写的一个LoadingBar,这次把LoadingBar加到下拉刷新的头部.从头写一个下拉刷新,附赠上拉加载更多.下面话不多说了,来一起看看详细的介绍吧. 效果图: 实现过程 首先是自定义属 ...

  5. android加载大量图片内存优化,Android图片加载内存优化

    利用BitmapFactory.Options实现图片内存优化 通过设置options.inPreferredConfig控制内存占用 首先准备了一张1280x800的blue_bg.png图片,我们 ...

  6. android 加载ttf流程分析,Android自定义字体 TextView 从SD卡加载TTF字体

    Android自定义字体非常简单,能够从assets和SD卡两处加载标准的ttf字体.要实现自定义字体,只需借助工具类Typeface即可.文末有工程源码. 如果发生了Caused by: java. ...

  7. android 加载图片黑屏,Android 中启动页黑屏及白屏的解决方式

    启动页黑屏或白屏的原因是,当Activity启动的时候不能马上加载layout. 而黑屏或者白屏是你的theme主题的默认样式,当layout没加载出来就显示黑屏或者白屏. 1.windowBackg ...

  8. android加载刷新进度条,android – 在Activity加载时显示进度条

    我有一个ListActivity,它基于列表选择启动另一个Activity.第二个Activity需要从互联网上加载一些相当数据的数据,因此在用户点击一个项目和Activity显示之间有一个明显的延迟 ...

  9. android 加载大长图,android加载长图片的方法

    1.很多应用都有加载一张长图片,用户可以上下拉动图片. 自己没有好的想法,那只好百度咯.结果都说用webview来实现,好吧那就只好先试一下了. 2.自己写了简单的html,然后webview加载.图 ...

最新文章

  1. 12306 背后的技术大牛:我不跟人拼智商,我就跟他们拼狠!
  2. 端口聚合与Trunk综合配置
  3. 安卓 buttontext怎么居中_三星发布会汇总,同样是Note 20,差距怎么就那么大呢?...
  4. java 操作日志设计_日志系统新贵 Loki,确实比笨重的ELK轻
  5. MFC设置对话框背景色及控件颜色
  6. ffmpeg windows环境下配置(VS2010)
  7. mysql数据库 set类型_MYSQL数据库数据类型
  8. router-LInk传参与接受参数(记录)
  9. delphi 7 mdi子窗体。。。无法更改以命令对象为源的记录集对象的 ActiveConnection 属性。...
  10. [转载]窗口之间的主从关系与Z-Order
  11. Android浏览器速度测试,四大Android手机浏览器 上网速度实测比较
  12. python爬取五百丁ppt模板(有图+有代码)
  13. 每日一题 导数的应用
  14. 信号完整性与电源完整性的详细分析
  15. 【GEO数据库】数据
  16. 7kbscan御剑版下载及使用
  17. 车内看车头正不正技巧_最常见的3种车位倒库技巧,以后停车都不是事,建议收藏!...
  18. 内存管理之Tagged pointer
  19. fama matlab源码_Fama French (1996)3因子模型 论文数据及matlab程序
  20. 完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档

热门文章

  1. 使用Python将数据插入数据库(一)
  2. 计算机病毒实践汇总六:IDA Pro基础
  3. LeetCode 285. Inorder Successor in BST
  4. 各j2ee web层框架比较(转)
  5. Mysql访问中间件--Atlas初探
  6. Redhat 7搭建iscsi存储系统
  7. 使用脚本快速查看Linux系统信息
  8. 对于 Shift-JIS 编码的理解 (win10中 查看 Shift-JIS 编码 コード)
  9. 学了java然后深入_JAVA8学习——从源码角度深入Stream流(学习过程)
  10. 【Oracle】DG三种保护模式及切换方式