两种方式都能实现目标区别在于场景不同
jitpack 步骤简单,适用于开源
nexus 步骤稍微复杂点,适合公司同事间协作开发
接下来进入主题...
使用jitpack 制作第三方库步骤
-
根目录下的build.gradle
dependencies {
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
} 在需要制作的module的build.gradle文件头部加入
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
group = 'com.github.<你的github用户名>'
3.share your pro in github
4.打开链接 https://jitpack.io/ 搜索你的项目 用户名/项目名 然后就能get it
使用nexus搭建本地maven仓库制作第三方库(sdk)
1.下载nexus(mac版本)
a. brew install nexus
brew services start nexus
这种方式下载的nexus是2.X版本的,不推荐使用
b. http://www.sonatype.com/download-oss-sonatype 选择3.x的版本下载(2.x和3.x差异较大,使用新版较舒服)
然后配置环境变量
打开命令行 open .bash_profile
export NEXUS_HOME=/Users/zhangxindang/software/nexus-3.15.2-01-mac/nexus-3.15.2-01/bin (根据你的安装位置)
使用nexus start 开启nexus
然后访问:http://127.0.0.1:8081/
-
使用步骤
登录sign admin admin123
点击设置 --> repositories --> createnewrepositories --> maven2(hosted) --> name storage(def) -->hosted(allow)
然后新建的repositories就在browse界面展示出来了 copy地址 -
Androidstudio中的配置
build.gradle (要制作的module)加入如下脚本
apply plugin: 'maven'
uploadArchives {
configuration = configurations.archives
repositories{
mavenDeployer{ // 从步骤2复制的地址
repository(url: 'http://127.0.0.1:8081/repository/common/') {
//你Nexus的账户密码
authentication(userName: 'admin', password: 'admin123')
}
pom.project {
version '1.0.0'
artifactId 'common'
groupId 'com.docker.common'
packaging 'aar'
description '通用工具层,提供给core以及上层'
}
}
}
}
然后sync 你的项目,点击androidstudio右侧Gradle面板,找到你的module名字---> Tasks --->upload --(双击)-> uploadArchives
看到build success 那么你的库就ok了 引用步骤
根工程目录下的build.gradle
buildscript-->
maven(){url 'http://192.168.31.138:8081/repository/common/'} (你步骤2复制的地址)
build.gradle(app的) api 'com.docker.common:common:1.0.0' 引用即可
引用规则: 步骤3中脚本中的值
com.docker.common(groupId) :common(artifactId) (version):1.0.0
- 这时候的库只是在本地只能自己使用,想要给别人使用的两种方式
a. 搭建服务器在服务器上下载 JDK nexus maven 然后重复上面的步骤,应该就可以(未实践)
b. 给同事使用 需要在nexus的安装目录下一直点到etc -->打开nexus-default.properties文件 配置如下
Jetty section
application-port=8081
application-host=127.0.0.1
nexus-args={jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/
Nexus section
nexus-edition=nexus-pro-edition
nexus-features=
nexus-pro-feature
c. 然后在同一wifi段下 让同事操作步骤4,就可以了 that all
good luck
文末给大家推荐一个好文 https://my.oschina.net/jdking/blog/3019829