android如何发布项目到JCenter

来源:互联网 发布:充话费的淘宝店怎么开 编辑:程序博客网 时间:2024/06/09 22:14

本文参照博客:http://www.cnblogs.com/shiwei-bai/archive/2015/11/24/4991636.html

1. 注册Bintray账号,首先你需要到Bintray中注册一个账号

登陆后在首页右上角点击用户名进入个人主页,然后点击用户名下面的Edit进入个人信息编辑页面,接下来点击页面左边列表的最后一项API Key,记录好API Key,在之后上传项目时用的到


2. 添加所需插件

在项目根目录下build.gradle文件中的dependencies节点中追加如下代码:

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'

android-maven-gradle-plugin插件是用来打包Maven所需文件的
gradle-bintray-plugin插件是用来将生成的Maven所需文件上传到Bintray的

3. 配置项目信息
下载project.properties文件并放到你的library module目录下
project.properties文件的原始内容如下:

#projectproject.name=JRxBus2project.userOrg=ttseaproject.repo=mavenproject.groupId=com.ttsea.jrxbus2project.artifactId=jrxbus2project.packaging=aarproject.siteUrl=https://github.com/Jasonzhou613/JRxBus2project.gitUrl=https://github.com/Jasonzhou613/JRxBus2#javadocjavadoc.name=JRxBus2
详解:
project.name:项目名称
project.groupId:项目组ID,通常情况下如果你的包名为com.example.test,那么项目组ID就是com.example
project.artifactId:项目ID,通常情况下如果你的包名为com.example.test,那么项目ID就是test
project.packaging:包类型,Android库是aar
project.siteUrl:项目官方网站的地址,没有的话就用Github上的地址,例如:https://github.com/xiaopansky/Sketch
project.gitUrl:项目的Git地址,例如:https://github.com/xiaopansky/Sketch.git
javadoc.name:生成的javadoc打开后主页显示的名称,通常跟项目名称一样即可

4. 配置Bintray账号以及开发者信息
新建local.properties文件并放到你的library module目录下,并且将local.properties添加到git ignore中,避免将敏感信息提交到github中
将以下内容添加到local.properties:

#bintraybintray.user=你的Bintray的用户名bintray.apikey=你的Bintray的API Key#developerdeveloper.id=通常是你在开源社区的昵称developer.name=你的姓名developer.email=你的邮箱
根据你自己的信息,修改好对应的信息

5. 配置jcenter-push.gradle
首先下载 jcenter-push.gradle 文件并放到你的library module目录下
然后修改你的library module的build.gradle文件,在最后加上 apply from: "jcenter-push.gradle",如下所示:
apply plugin: 'com.android.library'android {    compileSdkVersion 25    buildToolsVersion "25.0.2"    defaultConfig {        minSdkVersion 11        targetSdkVersion 25        versionCode 101        versionName "1.0.1"        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'])    //rxJava    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'    compile 'com.android.support:appcompat-v7:25.0.0'    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.android.support', module: 'support-annotations'    })    testCompile 'junit:junit:4.12'}apply from: 'jcenter-push.gradle'
6. 执行命令打包并上传到Bintray
打开终端进入项目目录下,执行gradlew bintrayUpload命令即可,在执行该命令之前建议先clean下项目
另外,如果你的本地已经配置了Gradle了,那么执行gradle bintrayUpload命令也可以。gradlew是Gradle的一层封装,如果你本地没有安装Gradle gradlew就会自动下载Gradle

7. 请求提交你的项目到jcenter
前面所有步骤走完之后实际上只是上传了你的项目到Bintray而已,并没有被包含在jcenter中,要想提交到jcenter中还需要Bintray的审核。
登入Bintray网站,进入个人中心,在右侧的Owned Repositories区域点击Maven的图标,进入你的Maven项目列表。
如果已经上传成功了,在这里就能看到你的项目,进入项目详情,在右下角的Linked To区域点击Add to JCenter,然后在Comments输入框里随便填写下信息,最后点Send提交请求即可
一般情况下审核需要4到5个小时,耐心等待就行了,审核通过后会给你发邮件通知你,并且以后更新项目就不需要再审核了。审核通过后一般可以在 这里 找到你提交的库

这里有个比较大的坑,对于新手来说,你新注册的账号,在新建组的时候默认是选择收费的(暂时是试用)的组。如果你新建了一个默认的收费的组,则是看不到Add to JCenter这个按钮的,我们一定要注意选择那个public,如图:


8. 额外补充:
保持你的library module的名字同artifactId一样
因为在Bintray上你的项目的maven-metadata.xml文件的路径是gruopId+"/"+module名称。
例如你的groupId是com.example,artifactId是test,但module名称是library。
这时候项目文件是在com.example.test目录下的,但maven-metadata.xml文件却是在com.example.library目录下的。
这样一来如果你有多个项目groupId一样,artifactId不一样,但module名称都是library的话,可能就会冲突。


0 0
原创粉丝点击