Android StudioAndroid技术知识Android知识

android lib 发布到jcenter

2017-04-27  本文已影响91人  区区一只yamada
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代码了。

上一篇 下一篇

猜你喜欢

热点阅读