在开发安卓的时候,我们会封装自己的library ,但是每次新建项目都需要搬迁library,代码搬迁是比较麻烦的事。如果条件允许的话,可以将library发布到jcenter 通过gradle添加需要library

如 :

dependencies{
	compile 'com.google.code.gson:gson:2.8.0'
}



第一步 注册

JCenter是由Bintray公司在维护,所以首先你需要注册一个帐号,传送门

登陆首页,往下拉,找到“For Open Source Plan  Sign Up Here” 点击注册个人免费版,如果是企业用户,可以点击"star your free trial",不过需要收取服务器费用。

注意,个人免费版项目都是必须公开的,这个和github一样。注册需要邮箱,貌似国内邮箱不支持,所以,大家可以自行注册gmail

androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_gradle


第二步 新建Repository,获取API Key

注册之后 ,在主页中找到add new Repository 创建项目存放仓库 

name 输入你的仓库名  (记下名字,待会需要用到)

type为仓库类型

Licenses  为遵循的许可协议

androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_发布_02

创建完之后,选择Edit Profile,进入个人资料页面,选择API Key , 拿到自己的key待会 设置需要用到

androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_发布_03

androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_开源_04

第三步 在Android studio 配置上传文件

1. 打开Project 下的 build.gradle  引入相关插件

dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        //引入插件
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
}

2.打开Library下的build.gradle 在android 中加入 lintOptions  abortOnError false  避免在gradle编译的时候 lint 检查报错

然后在最底部加入apply from: "bintrayUpload.gradle" 引入编译文件

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        minSdkVersion 15
        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'
        }
    }
    lintOptions {
        abortOnError false
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.google.code.gson:gson:2.8.0'
}
apply from: "bintrayUpload.gradle"

3.在library目录下新建file  bintrayUpload.gradle  拷贝下面代码 对应中文位置修改即可

apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

version = "1.0.3" //library 版本,以后更新只需要更改版本号就行

def siteUrl = 'https://github.com/ljzdyh/CarouselFigure' //项目官网,没有就填github上地址

def gitUrl = 'https://github.com/ljzdyh/CarouselFigure.git'//项目的git库地址  必须填写,不然会报错


// Maven Group ID for the artifact,一般填你唯一的包名
//比如 compile 'com.android.support:support-v4:24.0.0' 中的
//com.android.support 部分
group = "你的包名"

install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                name '通用下拉刷新上拉加载组件,可自定义上下下载效果'     //项目描述
                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 'test'        //填写的一些基本信息
                        name 'test'
                        email 'test@gmail.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))
    options.encoding = "UTF-8" //添加编码方式,才不会报编码错误
}
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")
    key = properties.getProperty("bintray.apikey")
    configurations = ['archives']
    pkg {
        repo = "maven"  //此处填写 你新建仓库名
        name = "popularrefreshlayout"    //发布到JCenter上的项目名字
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

4.最后,打开Project的local.properties 添加刚刚注册的用户名 和 API key

sdk.dir=D\:\\android-sdk-windows
bintray.user=注册用户名
bintray.apikey=key值



第四步 将项目提交仓库

打开Android studio Terminal 输入

gradlew install

编译library,编译通过之后会显示BUILD SUCCESS

编译成功之后,就可以输入gradlew bintrayUpload,进行library上传

gradlew bintrayUpload

上传成功后,刷新你新建的仓库页面,就可以看到新上传的library

 

androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_jcenter_05

点击进入library ,在右下角Linked to  点击Add to JCenter,然后点击send 发送给管理者审核,等几小时之后,审核通过就会给你发送通知

只要审核通过你就可以在gradle中直接引用你的library了


androidstudio中如何在下拉列表适配器中自定义下拉列表的初始值_开源_06

P.S. 下次修改bug或者版本更新后,只需要在bintrayUpload.gradle 文件修改version版本号后, 再次 执行gradlew bintrayUpload 上传即可,很方便的操作。