一、修改配置文件
1.1 修改工程根目录下的build.gradle,在dependencies{}里面增加依赖,代码如下:
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4"
1.2 修改工程的库模块里面的build.gradle文件,在里面增加以下代码,如下:
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
def MAVEN_LOCAL_PATH ='http://localhost:8080/artifactory'
def GROUP_ID = 'com.sk.test'
def ARTIFACT_ID = 'testsdk'
def VERSION_NAME = '1.0.0'
publishing {
publications {
aar(MavenPublication) {
groupId GROUP_ID
artifactId ARTIFACT_ID
version = VERSION_NAME
// Tell maven to prepare the generated "*.aar" file for publishing
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
pom.withXml {
def dependencies = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each{
// 如果有compile fileTree(),group会为空,需要去除
if(it.group != null) {
def dependency = dependencies.appendNode('dependency')
dependency.appendNode('groupId', it.group)
dependency.appendNode('artifactId', it.name)
dependency.appendNode('version', it.version)
}
}
}
}
}
}
artifactory {
contextUrl = MAVEN_LOCAL_PATH
publish {
repository {
// The Artifactory repository key to publish to
repoKey = 'gradle-release-local'
username = "admin"
password = "admin"
defaults {
// Tell the Artifactory Plugin which artifacts should be published to Artifactory.
publications('aar')
publishArtifacts = true
// Properties to be attached to the published artifacts.
properties = ['qa.level': 'basic', 'dev.team': 'core']
// Publish generated POM files to Artifactory (true by default)
publishPom = true
}
}
}
}
各定义说明,以maven依赖正常使用为例来说明,假如需要使用的依赖是:
compile 'com.sk.test:testsdk:1.0.0'
|----- 1 ---|---2---|--3--|
MAVEN_LOCAL_PATH JFrog上的创建的Local仓库,'''记得私有的必须创建Local类型的'''。remote会发布到共有库上。
自己搭的JFrog私服地址是 http://localhost:8080/artifactory
GROUP_ID 一般情况下是你library的包名,上面的1部分(com.sk.test)
ARTIFACT_ID 你library的名字,建议使用当前库module的名字,在后面配置的时候方便使用。上面的2部分(testsdk)
VERSION_NAME 版本号,当前库的版本名称,升级时有用。上面的3部分(1.0.0)
repoKey 是你JFrog上面创建Local仓库时,输入的repository key。上面已经创建了一个repoKey: gradle-release-local
username 是JFrog的用户名。
password 是JFrog登录密码。
二、编译上传
配置完成之后,即可编译上传。图形界面操作
2.1 在android studio右边的Gradle模块中, 双击 库模块名/build 下面 assembleRelease
2.2 双击 库模块名/publishing 下面 generatePomFileForAarPublication
2.3 双击 库模块名/publishing 下面 artifactoryPublish 上面3步不知道在哪儿,可以看这张图片,依次操作:
也可以使用命令操作, 命令行操作如下:
gradle assembleRelease generatePomFileForAarPublication artifactoryPublish
命令行操作执行gradle的task,实际上与界面操作是一样的。
三、使用
在项目中使用库
3.1 客户端在自己的项目根目录下的build.gradle文件中增加maven仓库,代码如下:
maven {
url "http://localhost:8080/artifactory/gradle-release-local"
}
3.2 客户端在自己项目的build.gradle文件中配置依赖即可,如下:
compile 'com.sk.test:testsdk:1.0.0'