android lib 发布到jcenter

android

在开发android中,当你需要引用第三方架包的时候你只需要在build.gradle简单的配置一下就可以使用了。
像这样:

gradle.png

配置完成之后,gradle 会自动到maven远程仓库帮下载架包配置到你项目中。
android 默认的maven仓库是 jcenter。你也可以在项目gradle里面配置自己想要的maven仓库:

jcenter

OK,在看了这么简单的引用方式大家一定也想将自己的lib 放到jcenter上面引用。
今天我们来看看如何完成这一步。
先进入jfrog的登录网站:https://bintray.com/login?forwardedFrom=%2F

jfrog.png

在这里要注意了, 因为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.png

ok, 在以后的引用中, 你就可以开心的直接 用gradle引用了,不要在copy代码了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 由于本篇文章的排版问题,不利于阅读,请看排版后的文章:传送门 引言 使用Android Studio开发的童鞋,相...
    SupLuo阅读 1,645评论 0 50
  • 自我进入到代码这个行业开始,就有前辈早早告诉我要积极活跃在开源社区,于是认识了 github, 然后也见识到了开源...
    小明同学阅读 683评论 1 1
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,010评论 6 342
  • 这次在来北京的路上,看着来来往往,急速行驶的汽车,他们从一个方向驶向另一个方向,从一个城市穿梭到另一个城市。心中产...
    国民小扎西阅读 271评论 0 2
  • 我想起多年前,也就是初中的时候. 最后的自己痛定思痛,开始认真学习,我想起了周老师,想起了那个小朋友周雨濛,我想起...
    Sophie12138阅读 198评论 0 0