在开发android中,当你需要引用第三方架包的时候你只需要在build.gradle简单的配置一下就可以使用了。
像这样:
配置完成之后,gradle 会自动到maven远程仓库帮下载架包配置到你项目中。
android 默认的maven仓库是 jcenter。你也可以在项目gradle里面配置自己想要的maven仓库:
OK,在看了这么简单的引用方式大家一定也想将自己的lib 放到jcenter上面引用。
今天我们来看看如何完成这一步。
先进入jfrog的登录网站:https://bintray.com/login?forwardedFrom=%2F
在这里要注意了, 因为jFrog用个收费版, 如果从这里直接进去默认是收费版的,所以我们要点击底部的另一个登录入口
Paste_Image.png登录进入界面后,先添加一个maven类型的仓库
Paste_Image.png Paste_Image.png创建完成后,我们在一个android项目中创建一个lib module
Paste_Image.png创建完成 我们先在项目下的build.gradle下引入2个插件
Paste_Image.png然后我们在 lib module下面的build.gradle引入编译脚本
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
version = "0.1.1"
def siteUrl = 'https://github.com/hu5080126/CollapsingImgText' // 项目的主页
def gitUrl = 'https://github.com/hu5080126/CollapsingImgText.git' // Git仓库的url
group = "com.yahui" // Maven Group ID for the artifact,一般填你唯一的包名
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
// Add your description here
name 'use in AppBarLayout, Supports picture and text offset, zoom and fixed in title. it is a RelativeLayout.'
url siteUrl
// Set your license
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id 'yahui' //填写的一些基本信息
name 'yahui.hu'
email '334972901@qq.com'
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user") // 配置在local.properties user 和 apikey
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven" //jfrog创建的仓库名称
name = "collapsingimagetext" //创库下的包名
userOrg = "yahui" //组织名, 如果再jfrog没有配置组织可以不写,配置了就需要写,因为maven仓库属于组织下面
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}
javadoc { //jav doc采用utf-8编码否则会报“GBK的不可映射字符”错误
options {
encoding "UTF-8"
charSet 'UTF-8'
}
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 22
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
}
在jfrog中获取你的用户名 和 apikey
Paste_Image.png Paste_Image.png在local.properties中配置你的 user 和 apiKey
Paste_Image.png
配置完成:我们在androidStudio的终端命令输入 gradlew bintrayUpload
Paste_Image.png执行完成以后,你会发现在你的jfrog 的maven仓库中多了一个pakeage
Paste_Image.png点击进入后, 点击添加到add to jcenter 按钮,发给jcenter审核,可能需要一点时间。
Paste_Image.png审核通过之后 你可以在你上传的架包中看到
Paste_Image.pngok, 在以后的引用中, 你就可以开心的直接 用gradle引用了,不要在copy代码了。
网友评论