美文网首页android studioAndroid StudioAndroid知识
Android Studio发布Android库到JCenter

Android Studio发布Android库到JCenter

作者: JohnyPeng | 来源:发表于2017-04-08 18:04 被阅读234次

    前言

    虽然已经有很多大神发过这种文章,但是自己做的时候还是有一些疑问,所以发这篇文章记录一下,希望能给各位一些帮助。

    准备工作

    1. 一个GitHub账号,当然这不是必要的
    2. 一个自己的Android Library
    3. 科学上网, Bintray似乎国内访问不了

    发布步骤

    JCenter仓库创建

    JCenter 是由Bintray进行管理的,所以我们所创建的仓库也是由它进行管理。下面是详细步骤

    1. 创建Bintray账号,这一步可以使用GitHub账号进行代替

    注册.png

    2. 创建用户组织(user orgnization)

    创建用户组织.png

    如图所示,jonnypeng就是在下创建的组织ID,这一步是必须的,创建一下,反正不会怀孕。。

    选择创建方式.png 创建过程.png

    在选择完创建方式之后就可以进行创建组织了,不过我就填了三个,图中Unique Identifier(唯一标志符)和组织名称是必填的,在创建用户组织里面显示的是jonnypeng是Unique Identifier而JSoftware则是组织名称。。像我这种有强迫症的人来说,最好取个带点意义的名字吧,免得到时候又要来删就不好了。。囧

    3. 创建仓库

    点击左下角Add New Repository的按钮进行创建仓库

    添加仓库3.1.png 添加仓库3.2.png

    在这里Type一般我们都是选择Maven仓库,Android Studio就支持这个,协议一般我都选择MIT,因为即使你选其他的也没卵用,因为这里是中国。。如果搞不清楚协议的区别的可以去看如何选择开源许可证?这篇文章,还有仓库是可以添加很多项目的,所以不要把项目名和仓库名混在一起了。创建完成之后Add New Repository就会有你的仓库

    4. 创建Package

    点击仓库进行创建Package

    创建Package4.1.png 创建Package4.2.png 创建Package4.3.png

    这里一张截图放不下,分两张,具体的注意点已经给出,上面就是创建JCenter的仓库的步骤了,接下来还要进行配置Android Studio。好累!!!

    配置Android Studio Gradle

    1. 配置Project 下Gradle

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        //下面这两行是需要添加的
        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
    

    2. 配置API Key

    忘记了,还要获取API Key。。囧

    配置API Key 2.1.png 配置API Key 2.2.png

    通过上面两步就可以获取到API Key,下面进行配置

    bintray.user=johnypeng  //你的用户名,在右上角
    bintray.apikey=************************************//API Key
    

    3. 配置Module Gradle

    下面的很多我也不知道是什意思,所以我就全复制过来了,大家按照自己项目的详细情况进行配置。。

    apply plugin: 'com.android.library'
    apply plugin: 'com.github.dcendents.android-maven'
    apply plugin: 'com.jfrog.bintray'
    
    version="0.1"
    //这个地方比对一下自己的项目
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
    
        defaultConfig {
            minSdkVersion 23
            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 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.2.0'
        testCompile 'junit:junit:4.12'
    }
    
    def siteUrl = 'https://github.com/JohnyPeng/ActionSheetDialog'      // 项目的主页
    def gitUrl = 'https://github.com/JohnyPeng/ActionSheetDialog.git'   // Git仓库的url
    group = "com.android.actionsheetdialog"       // 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 'A bottom dialog like IOS'     //项目描述
                    url siteUrl
                    // Set your license
                    licenses {
                        license {
                            //
                            name 'Massachusetts Institute of Technology'
                            url 'http://www.opensource.org/licenses/mit-license.php'
                        }
                    }
                    developers {
                        developer {
                            id 'JonnyPeng'        //填写的一些基本信息
                            name 'Jonny'
                            email 'godteen.peng@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) {
        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")
        key = properties.getProperty("bintray.apikey")
        configurations = ['archives']
        pkg {
            userOrg = "jonnypeng"//JCenter上创建的的Organization
            repo = "custom"//你要上传的库的名字
            name = "ActionSheetDialog"    //发布到JCenter上的项目名字
            websiteUrl = siteUrl
            vcsUrl = gitUrl
            licenses = ["MIT"]
            publish = true
        }
    }
    

    上传到JCenter中

    在Android Studio 的Teminal中执行下面这两条命令,进行上传

    ./gradlew install //补充: Windows下面是使用gradlew install 和gradlew bintrayUpload
    ./gradlew bintrayUpload
    

    点击项目名然后点击发布JCenter中即可,等待审核通过,好像审核通过一次之后就不用再进行审核了

    上传到JCenter 1.1.png

    通过之后就会出现

    上传到JCenter 1.2.png

    使用

    //注意上米面那张截图中的红框
    compile 'com.android.actionsheetdialog:actionsheet:0.1'
    

    更新

    如果有需要更新库的可以直接修改Module的Version然后进行上传。。


    Paste_Image.png

    然后执行

    ./gradlew install//补充: Windows下面是使用gradlew install 和gradlew bintrayUpload
    ./gradlew bintrayUpload
    
    Paste_Image.png

    可以看到版本号的更新,使用的时候当然两个都行

    总结

    以上就是Android库上传到JCenter的所有步骤,祝大家使用愉快!!!Chrome一直出现问题,输入中文就报错,烦死我了。。。

    参考文章:http://www.jianshu.com/p/3d32ad7e8841

    相关文章

      网友评论

      本文标题:Android Studio发布Android库到JCenter

      本文链接:https://www.haomeiwen.com/subject/csblattx.html