Android Studio发布到Jcenter

1.前言

拥抱开源,热爱开源,将我们认为不错的代码开源到gihtub,将我们的库发布到jcenter\mevan等。

2.准备工作

2.1 准备

2.2 插件引入

在根目录的gradle文件下加入

classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2‘
        classpath ‘com.github.dcendents:android-maven-plugin:1.2‘

个人认为这1个最好保持一直。

最后我们根目录下的gradle文件变成这个样子

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath ‘com.android.tools.build:gradle:1.3.0‘
        classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2‘
        classpath ‘com.github.dcendents:android-maven-plugin:1.2‘
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2.3 在根目录下创建一个bintray.gradle文件(必须这名字)

group = PROJ_GROUP
version = PROJ_VERSION
project.archivesBaseName = PROJ_ARTIFACTID

apply plugin: ‘com.jfrog.bintray‘
apply plugin: ‘maven-publish‘

task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = ‘sources‘
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += configurations.compile
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = ‘javadoc‘
    from javadoc.destinationDir
}

javadoc {
    options{
        encoding "UTF-8"
        charSet ‘UTF-8‘
        author true
        version true
        links "http://docs.oracle.com/javase/7/docs/api"
        title PROJ_ARTIFACTID
    }
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

def pomConfig = {
    licenses {
        license {
            name "The Apache Software License, Version 2.0"
            url "http://www.apache.org/licenses/LICENSE-2.0.txt"
            distribution "repo"
        }
    }
    developers {
        developer {
            id DEVELOPER_ID
            name DEVELOPER_NAME
            email DEVELOPER_EMAIL
        }
    }
    //这里有引号,并且有个空格,否则生成不了依赖,主要是这里的dependencies并不是build.gradle里的dependencies,而gradle会把他当成自身的dependencies处理
    "dependencies " {
//        dependency{
//            groupId "com.alibaba"
//            artifactId "fastjson"
//            "version " "1.2.6"
//            //同dependencies
//        }
    }

}

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifactId PROJ_ARTIFACTID

            pom{
                packaging ‘aar‘
            }
            pom.withXml {
                def root = asNode()
                root.appendNode(‘description‘, PROJ_DESCRIPTION)
                root.children().last() + pomConfig
            }
        }
    }
}

bintray {
    Properties properties = new Properties()
    properties.load(project.rootProject.file(‘local.properties‘).newDataInputStream())

    user = properties.getProperty(‘BINTRAY_USER‘);
    key = properties.getProperty(‘BINTRAY_KEY‘);

    configurations = [‘archives‘]
    publications = [‘mavenJava‘]
    publish = true

    pkg {
        repo = ‘maven‘
        name = PROJ_NAME
        desc = PROJ_DESCRIPTION
        websiteUrl = PROJ_WEBSITEURL
        issueTrackerUrl = PROJ_ISSUETRACKERURL
        vcsUrl = PROJ_VCSURL
        licenses = [‘Apache-2.0‘]
        publicDownloadNumbers = true
    }
}

上述文件几乎不用修改,假如你将要上传的包 包含其他的三方库。在以下块中进行申明

"dependencies " {
//        dependency{
//            groupId "com.alibaba"
//            artifactId "fastjson"
//            "version " "1.2.6"
//            //同dependencies
//        }
    }

通俗易懂,一目了然,就不多做解释了。

2.4 剩余配置

  • 在Model对应的gralde文件中配置签名\引入bintray.gradle,最终代码如下,如看不懂配置相关,阅读这篇 或者自行阅读gradle for android

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    signingConfigs {
        config {
            keyAlias ‘guolei‘
            keyPassword ‘123456‘
            storeFile file(‘guolei.jks‘)
            storePassword ‘123456‘
        }
    }
    defaultConfig {
        applicationId "com.gl.draggridview"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
            signingConfig signingConfigs.config
        }
    }
}

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    //compile ‘com.android.support:appcompat-v7:23.1.1‘

}
apply from:‘../bintray.gradle‘

注意bintray.gradle 一定要放在文件最下面。

  • 配置BINTRAY_KEY 和BINTRAY_USER 也就是一开始注册的那个

    guolei1130 为我的用户名,查看key 点击edit,

    点api key ,show 即可看到。

    在根目录下的local.properties 配置。

BINTRAY_KEY=e21c3f96df17xxxxxxxx
BINTRAY_USER=guolei1130

这里对应的是bintray.gradle中的这一段代码,当然,你可以修改这段代码,将这2个属性写在任意位置

Properties properties = new Properties()
    properties.load(project.rootProject.file(‘local.properties‘).newDataInputStream())

    user = properties.getProperty(‘BINTRAY_USER‘);
    key = properties.getProperty(‘BINTRAY_KEY‘);

最后,sync now。

3.上传前准备

3.1 生成签名的apk release 包(上传的时候会检查)

点击对应model 的assembleRelease即可,根据后续的错误提示,生成对应的包(这一个应该就可以了,我这里是将release、debug包全生成的)

3.2 生成jardocjar sourcesjar

在model 对应的other task中,找到上面2个,点击生成 一般不慧出错

3.3 在publish中点击task生成pom文件

点击第二个即可

3.4 上传

点击上图中的第一个task,如果出错,根据错误排查即可,一般就是签名、验证的相关问题。

4. 导入的jcenter(需经过审核)

这个mevan仓库就是我刚才上传的,但是我们需要将他导入到jcenter 中,点击jcenter.点击有侧导入,筛选将要导入的库,等待管理员审核即可。

5. 最后来看下我的库

github地址,求个star

最后来张图证明我是刚刚上传的。

没错,就是这么so easy.

时间: 2024-10-14 05:07:38

Android Studio发布到Jcenter的相关文章

Android studio 发布Android Library项目到JCenter

(本来这篇文章只是想当做笔记记录,下了班才写的,第二天起来看到几百个访问量,突然对生活充满了希望,受到了鼓舞,于是决定完善一下.____2016/05/31) 互联网的发展是非常迅猛的,刚刚觉得自己适应了eclipse的用法,突然发现它已经被淘汰了. OK,今天不是来说eclipse和Android studio的褒贬.我们是来学习技术的.在做SDK相关的开发时发现一个问题,Android studio 使用第三方包超级简单方便.一行代码搞定. compile 'com.ruffian.util

建立企业内部maven服务器并使用Android Studio发布公共项目

由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT则是直接将library作为外部项目依赖链接进来,两者各有各的优缺点.Android Studio的好处是能时刻保持项目的完整性,每一个项目都包含了整个项目所需要的一切东西,当你把项目共享给别人的时候就不会因为落下某个library而导致别人无法正常打开你的项目.缺点则是多个项目都依赖同一个libr

教你如何使用android studio发布release 版本【转】

原文链接 想必还有人对如何在Android studio (以下简称as)发布release版本的app而狂刷百度吧?都是过来人,我很理解这种心情,百度到的基本是半成品,为什么这么说呢?百度一下,你就知道,好了,不废话了,下面奉上完整的教程. 一.前提 发布release 版本,首先,的需要保证当前的app没有bug.可以正式发布了,嘿嘿,就是这样~~ 二..准备jks .jks即密钥库,是一种包含一个或多个私钥的二进制文件,只要记住,他就相当于人的指纹一样重要就行了.切记!必须在应用的整个生命

android studio发布版和测试版证书SHA1获取

1.发布版: cmd命令:cd C:\Users\Administrator\.android 生成命令:keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 设置口令密码.姓名.单位.地区等信息,即可生成 获取命令:在C:\Users\Administrator\.android目录下,执行:keytool -list -v -keystore debug.k

Android Studio 发布 APK

打开发布设置窗口 打开Generate Signed APK...窗口,点击Create new... 打开Create New...窗口,创建一个Key,这个Key的相关信息一定要好好保存,因为以后在进行软件升级时必需使用相同的Key. Key store path:key的保存地址 Password:密匙库密码 Confirm:密匙库密码确认 Alias:密匙名称 Password:密码 Confirm:确认密码 Validity:使用年限 First and Last Name:颁发者姓名

Android studio 发布APK

一.生成APK Build-->Generate Signed APK... 以上是创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥.若已经创建过输入password即可. 若第一次或需要新建点击Create new... Key store path:密钥库文件的地址         Password/Confirm:密钥库的密码         Key:             Alias:密钥名称             Password/Confirm:密钥密码          

Android Studio新手完全指引

Android Studio新手完全指引 @author ASCE1885的 Github 简书 微博 Android Studio的下载及安装 如果你的电脑可以翻墙,那么请直接到Android官网下载,如下图所示: 如果不幸翻不了墙,没关系,可以到AndroidDevTools下载,这个网站基本涵盖了Android开发所需的所有工具,文件放在百度云上面,下载速度杠杠的. 下载并安装完成后,首次启动会去下载更新一系列文件,如果已经翻了墙,就等待其更新完成:如果没有翻墙,就别傻等了,最终等到的只会

拥抱 Android Studio 之四:Maven 仓库使用与私有仓库搭建

使用.创造和分享 笔者曾经不思量力的思考过『是什么推动了互联网技术的快速发展?』这种伟大的命题.结论是,除了摩尔定律之外,技术经验的快速积累和广泛分享,也是重要的原因. 有人戏称,『写 Java,首先要学会选包』,在这里不好评论对错.不过这句话里面,至少包含两层意思:首先 Java 有大量的现成的依赖包,不必要自己造轮子:其次,Java 的包存放较为集中,集成方式也方便. 笔者从事 Android 和 Java 开发以来,经历了几个阶段: 闭门造轮子 > 使用别人的轮子 > 开门造轮子 >

从头到尾详解Android Studio

1.下载Android Studio 如果你已经安装了eclipse,并且已经安装了Android SDK,那么请只下Android Studio IDE only,下载地址:http://tools.android.com/download/studio/canary/1-3-1. 方便大家下载,附上百度网盘的链接,是windows的版本,点击打开链接. 2.然后执行下载完成的exe文件 ,一直按下一步,即可安装完Android Studio. 在这过程中我遇到了问题:比如SDK中没有安装an