AndroidStudio上传项目到JCenter仓库

一、描述

分享一下上传项目到Jcenter和Maven的一种方法,方法我百度看了有好多,我在这里整理一下。

二、上传项目

(1)注册一个Bintray账号

(2)登陆成功,并且打开 View All ,看到Mavan时点击选择。

(3)选择完Mavan,现在开始创建一个新的Package。

(4)填写Name,这个Name需要与你的项目工程LIbrary相同的名字,Lincenses就图片的Apache-2.0,最后的Version Control 就随便填了,最后Create Package。

(5)这样就创建完成,好了,现在可以开始配置LIbrary了。

(6)创建项目,并且创建Library,这里再提醒一下,创建的Library名字必须跟在Bintray中创建Package的名字相同。

(7)在UploadJcenter根目录的build.gradle中,添加参数,第一个如果有了就不用重复添加了

 dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:latest.release'
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
    }

(8)在mytool中的build.gradle中,添加以下代码,需要添加的代码我都有注释标明,并且这里说明一点,如果Bintray上没有创建Package包的话,就会根据本地填写的包名自动创建。

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'//需添加的
apply plugin: 'com.jfrog.bintray'//需添加的

version = "1.0.0" //需更改,这个是Library的版本后,每次更新的时候,版本需要不一样

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    lintOptions {//需添加的
        abortOnError false
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
}

//下面到结尾都是需要添加的
def siteUrl = 'https://github.com/'      // 可默认,项目的主页
def gitUrl = 'https://github.com/'   //可默认, Git仓库的url
group = "com.junwen.mytool" // 需更改,这个就是Library最后生成出来的包名,最后会成为这样:compile 'com.junwen.mytool:mytool:1.0.0'
install {
    repositories.mavenInstaller {
        // This generates POM.xml with proper parameters
        pom {
            project {
                packaging 'aar'
                // Add your description here
                description 'my utils for test'
                name 'Android Commonly used utils'  // 可默认,项目描述
                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 'YOUR_ID'
                        name 'YOUR NAME'
                        email 'YOUR EMAIL'
                    }
                }
                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.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"  //发布到Bintray的那个仓库里,默认账户有四个库,我们这里上传到maven库
        name = "mytool"  //需更改,这个名字就是你在Bintray上创建Package的名字,这里会查询,如果此包不存在就会创建一个。
        websiteUrl = siteUrl
        vcsUrl = gitUrl
        licenses = ["Apache-2.0"]
        publish = true
    }
}

(9)在项目中的local.properties文件中添加用户信息

bintray.user=YOUR_BINTRAY_USERNAME //你的Bintray用户名
bintray.apikey=YOUR_BINTRAY_API_KEY //你的Key值

(10)最后打开Terminal,输入命令执行上传,当BUILD SUCCESSFUL时代表上传成功!

gradlew bintrayUpload

(11) 如果看到了这个就代表成功上传,如果需要上传到Jcenter点击Add to Jcenter,输入描述信息发送信息等待官方审核,审核通过即可直接根据地址调用。


如果没有上传Jcenter的话,要调用就需要先在项目根目录build.gradle中,添加如下:

allprojects {
    repositories {
        jcenter()
        maven {
            url "http://dl.bintray.com/junwen/maven" //这个要添加,只要更改junwen成你的用户名即可
        }
    }
}

之后在app/build.gradle中添加 compile 'com.junwen.mytool:mytool:1.0.0' 即可使用

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.junwen.mytool:mytool:1.0.0'
}

总结

在本地的build.gradle配置中,配置的Package名字如果不存在,他会自动创建,所以以后可以先配置项目,直接上传,他会根据你本地上传给予的项目名,自动创建Bintray对应的Package包。

欢迎关注我的微信公众号,分享更多技术文章。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,463评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,868评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,213评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,666评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,759评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,725评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,716评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,484评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,928评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,233评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,393评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,073评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,718评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,308评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,538评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,338评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,260评论 2 352

推荐阅读更多精彩内容