Android 上传library到jcenter

首先扯点别的:上海的天气最近也是挺热的,都是快到40度,随便出去走走就出汗。
今天记录一下上如上传Android 的library到jcenter。

前提条件:已经正确注册了bintray账号。不会注册可以参考这个网址。

http://blog.youkuaiyun.com/roly_yu/article/details/53486731

注册完成以后找到Edit Your Profile这个选项

这里写图片描述

输入你的密码,然后查看你的API Key。这个后面会用到。

  1. 在bintray上新建一个仓库(Respository),仓库类型选在Maven.

这里写图片描述

这里写图片描述

2.在新建的仓库下面新建一个package。新建的package的 名字最好和你要上传的library的名字一致。

这里写图片描述

本地工作

新建一个Android项目,然后在项目里新建一个AndroidLibrary.

然后在修改project的build.gradle文件,加入用到的插件

dependencies {
        classpath 'com.android.tools.build:gradle:2.3.2'
        //用来生成项目的JavaDoc和source JARs的插件
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        //上传到bintray的插件
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
    }

然后修改要上传的library的build文件

apply plugin: 'com.android.library'
//应用插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

// 这个version是区分library版本的,当需要更新library时记得修改这个version
version = "1.0.0"

android {

    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
}

// 项目的主页
def siteUrl = 'https://github.com/humanheima/AndroidUtils'
// Git仓库的url
def gitUrl = 'https://github.com/humanheima/AndroidUtils.git'
// Maven Group ID for the artifact,一般填你唯一的包名
group = "com.brotherd.androidutilslibrary"

install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                description 'Android common utils'
                //项目描述
                name 'Android common utils,easy to use'
                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 'humanheima'
                        name 'humanheima'
                        email 'humanheima@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) {
    options.encoding = 'UTF-8'
    source = 'src/main/java'
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.getDestinationDir()
}
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 {
        //发布到Bintray的仓库
        repo = "KOF97"
        //KOF97仓库里的package
        name = "AndroidUtilsLibrary"
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

注意下面这一段

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 {
        //发布到Bintray的仓库
        repo = "KOF97"
        //KOF97仓库里的package
        name = "AndroidUtilsLibrary"
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

上面的user,和key放在local.properties里面

bintray.user=你的账户名
bintray.apikey=你的key

上面修改完成以后在Android Studio的命令行里输入

gradlew bintrayUpload

上传成功以后,可以查看你的仓库中的package

这里写图片描述

可以发现已经如何使用的方式了,点击 add to jCenter 就可以把这个library加入jcenter了(审核通过才行)。

结尾 没什么好说的,明天正常上班
参考链接
【1】http://blog.youkuaiyun.com/roly_yu/article/details/53486731
【2】http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html
【3】http://blog.youkuaiyun.com/wwj_748/article/details/51913280

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值