版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wei11556/article/details/83614719
1.注册bintray
先到https://bintray.com注册一个账号,支持Github、Google、Twitter直接授权登录
2.获取bintray.user和bintray.apikey
bintray.user就是注册时的username
bintray.apikey在个人中心可以看到
3.Project的build.gradle添加如下信息
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
4.配置用户信息
在工程根目录的local.properties
新增bintray.user
、bintray.apikey
两个变量,把刚才的username和apikey填入
5.配置config.gradle
在工程根目录添加config.gradle,并在工程的build.gradle中引入config.gradle
apply from: "config.gradle"
ext {
android = [
compileSdkVersion: 27,
applicationId : "com.lisn.mywanandroid",
minSdkVersion : 16,
targetSdkVersion : 27,
versionCode : 1,
versionName : "1.0"
]
dependVersion = [
support: "27.1.1",
dbflow : "4.2.4"
]
dependencies = [
//android-support
"support-v4" : "com.android.support:support-v4:${dependVersion.support}",
"appcompat-v7" : "com.android.support:appcompat-v7:${dependVersion.support}",
"design" : "com.android.support:design:${dependVersion.support}",
"recyclerview" : "com.android.support:recyclerview-v7:${dependVersion.support}",
"cardview" : "com.android.support:cardview-v7:${dependVersion.support}",
"preference" : "com.android.support:preference-v14:${dependVersion.support}",
"constraint-layout" : 'com.android.support.constraint:constraint-layout:1.1.3',
//http
"retrofit2" : "com.squareup.retrofit2:retrofit:2.1.0",
"converter-scalars" : "com.squareup.retrofit2:converter-scalars:2.1.0",
"converter-gson" : "com.squareup.retrofit2:converter-gson:2.1.0",
"adapter-rxjava2" : "com.squareup.retrofit2:adapter-rxjava2:2.2.0",
//httpcache
"rxCache" : "com.github.VictorAlbertos.RxCache:runtime:1.8.0-2.x",
"Jolyglot-gson" : "com.github.VictorAlbertos.Jolyglot:gson:0.0.3",
//rxjava
"rxjava" : "io.reactivex.rxjava2:rxjava:2.0.6",
"rxandroid" : "io.reactivex.rxjava2:rxandroid:2.0.1",
"rxbinding2" : "com.jakewharton.rxbinding2:rxbinding:2.0.0",
"rxlifecycle2" : "com.trello.rxlifecycle2:rxlifecycle:2.1.0",
"rxlifecomponents" : "com.trello.rxlifecycle2:rxlifecycle-components:2.1.0",
//dagger2
"dagger" : "com.google.dagger:dagger:2.7",
"dagger-compiler" : "com.google.dagger:dagger-compiler:2.7",
//ui
"constraint-layout" : "com.android.support.constraint:constraint-layout:1.0.2",
"butterknife" : "com.jakewharton:butterknife:8.8.1",
"butterknife-compiler": "com.jakewharton:butterknife-compiler:8.8.1",
"BaseAdapterHelper" : "com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30",
"glide" : "com.github.bumptech.glide:glide:4.0.0-RC1",
"banner" : "com.youth.banner:banner:1.4.9",
"circleimageview" : "de.hdodenhof:circleimageview:2.2.0",
"utilcode" : "com.blankj:utilcode:1.9.6",
"agentweb" : "com.just.agentweb:agentweb:3.1.0",
"flowlayout" : "com.hyman:flowlayout-lib:1.1.2",
"fragmentation" : "me.yokeyword:fragmentation:1.3.3",
"swipebacklayout" : "cn.bingoogolapple:bga-swipebacklayout:1.1.0@aar",
//alibaba
"arouter-api" : "com.alibaba:arouter-api:1.3.1",
"arouter-compiler" : "com.alibaba:arouter-compiler:1.1.4",
//DBFLOW
"dbflow-processor" : "com.github.Raizlabs.DBFlow:dbflow-processor:${dependVersion.dbflow}",
"dbflow-core" : "com.github.Raizlabs.DBFlow:dbflow-core:${dependVersion.dbflow}",
"dbflow" : "com.github.Raizlabs.DBFlow:dbflow:${dependVersion.dbflow}",
"dbflow-sqlcipher" : "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dependVersion.dbflow}"
]
jcenter = [
versionCode: 1,
versionName: "1.0.1",
//项目名称
name : "BottomBar",
groupId : "com.lisn",
siteUrl : "https://github.com/cnlisn", //项目地址
gitUrl : "https://github.com/cnlisn", //项目git地址
description: "底部导航栏", //项目描述
authorId : "SG", //开发者的一些基本信息
authorName : "SG", //开发者的一些基本信息
authorEmail: "SG", //开发者的一些基本信息
//开原协议
licenses : {
license {
name 'MIT'
url 'https:opensource.org/licenses/MIT'
}
},
licenseName: 'MIT'
]
}
6.创建Library配置Library
在Library Module根目录 创建bintray.gradle,并在Library 的build.gradle中引入bintray.gradle
apply from: "bintray.gradle"
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
version = rootProject.ext.jcenter.versionName
group = rootProject.ext.jcenter.groupId
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
//buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.jcenter.versionCode
versionName rootProject.ext.jcenter.versionName
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
install {
repositories.mavenInstaller {
pom {
project {
packaging 'aar'
name rootProject.ext.jcenter.name
description rootProject.ext.jcenter.description
url rootProject.ext.jcenter.siteUrl
licenses rootProject.ext.jcenter.licenses
developers {
developer {
id rootProject.ext.jcenter.authorId
name rootProject.ext.jcenter.authorName
email rootProject.ext.jcenter.authorEmail
}
}
scm {
connection rootProject.ext.jcenter.gitUrl
developerConnection rootProject.ext.jcenter.gitUrl
url rootProject.ext.jcenter.siteUrl
}
}
}
}
}
// 生成jar包的task
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
// 生成javaDoc的jar
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
}
//设置编码格式,如果不设置可能会在gradlew install的时候出现GBK编码映射错误
javadoc {
options {
encoding "UTF-8"
charSet 'UTF-8'
author true
version true
links "http://docs.oracle.com/javase/8/docs/api"
}
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven"
name = rootProject.ext.jcenter.name
websiteUrl = rootProject.ext.jcenter.siteUrl
vcsUrl = rootProject.ext.jcenter.gitUrl
licenses = [rootProject.ext.jcenter.licenseName]
publish = true
}
}
7.编译打包Library、上传到bintray
执行命令gradlew install 进行编译
执行命令gradlew bintrayUpload 进行上传bintray
出现BUILD SUCCESSFUL表示完成
期间可能会碰到如下问题
- -bash: gradlew: command not found
解决方法
gradlew clean
8.添加到Jcenter
进入到你的bintray个人中心,进入到maven
点击Add to JCenter
,申请添加到jcenter,会进入到申请页,会有输入框要求写备注,这个是可选的也可以不写直接确定。
接下来等它审核通过就可以使用了,一般半天就可以审核完成
审核通过后就可以直接在项目中引用了
引入的格式由groupId
:module name
:versionName
组成