使用Gradle发布项目到JCenter仓库

转:http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2015/0227/2502.html

编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过!

原文:使用Gradle发布项目到JCenter仓库

这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛。JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用。步骤基本是按Publishing Gradle Android Library to jCenter Repository这里来的,英文能看的直接看这篇也行。下面我的步骤正式开始,发布到JCenter仓库的是我的项目:BounceProgressBar

申请Bintray账号

Bintray的基本功能类似于Maven Central,一样的我们需要一个账号,Bintray传送门,注册完成后第一步算完成了。

生成项目的JavaDoc和source JARs

简单的说生成的这两样东西就是我们在下一步中上传到远程仓库JCenter上的文件了。这一步需要android-maven-plugin插件,所以我们需要在项目的build.gradle(Top-level build file,项目最外层的build.gradle文件)中添加这个构建依赖,如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

buildscript {

    repositories {

        jcenter()

    }

    dependencies {

        classpath ‘com.android.tools.build:gradle:1.0.0‘

        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()

    }

}

然后在你需要发布的那个module(我这里的即是library)的build.gradle里配置如下内容:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

apply plugin: ‘com.android.library‘

apply plugin: ‘com.github.dcendents.android-maven‘

apply plugin: ‘com.jfrog.bintray‘

// This is the library version used when deploying the artifact

version = "1.0.0"

android {

    compileSdkVersion 21

    buildToolsVersion "21.1.2"

    resourcePrefix "bounceprogressbar__"    //这个随便填

    defaultConfig {

        minSdkVersion 9

        targetSdkVersion 21

        versionCode 1

        versionName version

    }

    buildTypes {

        release {

            minifyEnabled false

            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘

        }

    }

}

dependencies {

    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])

    compile ‘com.nineoldandroids:library:2.4.0+‘

}

def siteUrl = https://github.com/zhengxiaopeng/BounceProgressBar // 项目的主页

def gitUrl = https://github.com/zhengxiaopeng/BounceProgressBar.git // Git仓库的url

group = "org.rocko.bpb" // 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 ‘Android BounceProgressBar Widget‘ //项目描述

        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 ‘zhengxiaopeng‘    //填写的一些基本信息

        name ‘Rocko‘

        email ‘[email protected]‘

        }

        }

        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 {

        repo = "maven"

        name = "BounceProgressBar"    //发布到JCenter上的项目名字

        websiteUrl = siteUrl

        vcsUrl = gitUrl

        licenses = ["Apache-2.0"]

        publish = true

    }

}

配置好上述后需要在你的项目的根目录上的local.properties文件里(一般这文件需gitignore,防止泄露账户信息)配置你的bintray账号信息,your_user_name为你的用户名,your_apikey为你的账户的apikey,可以点击进入你的账户信息里再点击Edit即有查看API Key的选项,把他复制下来。


1

2

bintray.user=your_user_name

bintray.apikey=your_apikey

Rebuild一下项目,顺利的话,就可以在module里的build文件夹里生成相关文件了。这一步为止,就可以把你项目生成到本地的仓库中了,Android Studio中默认即在Android\sdk\extras\android\m2repository这里,所以我们可以通过如下命令(Windows中,可能还需要下载一遍Gradle,之后就不需要了)执行生成:


1

gradlew install

上传到Bintray

上传到Bintray需要gradle-bintray-plugin的支持,所以在最外层的build.gradle里添加构建依赖:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

buildscript {

    repositories {

        jcenter()

    }

    dependencies {

        classpath ‘com.android.tools.build:gradle:1.0.0‘

        classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0‘

        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()

    }

}

Rebuild一下,然后执行如下命令(Windows中)完成上传:


1

gradlew bintrayUpload

上传完成即可在Bintray网站上找到你的Repo,我们需要完成最后一步工作,申请你的Repo添加到JCenter。可以进入这个页面,输入你的项目名字点击匹配到的项目,然后写一写Comments再send即可,然后就等管理员批准了,我是大概等了40分钟,然后网站上会给你一条通过信息,然后就OK了,大功告成。

成功后就可以在其它项目里方便的使用你发布的项目了:


1

2

3

dependencies {

    compile ‘org.rocko.bpb:library:1.0.0‘

}

End

不明白的可以再看看这两篇文章或者留言。

相关文章:
使用Gradle发布Android开源项目到JCenter
Publishing Gradle Android Library to jCenter Repository

时间: 2024-11-10 09:52:48

使用Gradle发布项目到JCenter仓库的相关文章

使用Gradle发布项目到JCenter仓库 (转载)

原文:使用Gradle发布项目到JCenter仓库 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛.JCenter现在是Android Studio中repositories的默认节点了,之前是Maven的,不过JCenter是兼容Maven的,所以放心使用.步骤基本是按Publishing Gradle Android Library to jCenter Repository这里来的,英文能看的直接看这篇也行.下面我的步骤正式开始,发

[Publish AAR To Maven] 使用 Gradle 发布 AAR 到 Maven 仓库

======================================================== 作者:qiujuer 博客:blog.csdn.net/qiujuer 网站:www.qiujuer.net 开源库:github.com/qiujuer/Genius-Android 转载请注明出处:http://blog.csdn.net/qiujuer/article/details/44195131 --学之开源,用于开源:初学者的心态,与君共勉! =============

Android - 5分钟发布Android Library项目到JCenter

android-library-publish-to-jcenter是一个帮助Android开发者将AAR库发布到jcenter的项目,android-library-publish-to-jcenter已经将需要写的脚本封装好了,我们只需要配置相关属性即可在5分钟之内发布我们的项目到JCenter(不包括审核时间哦) 1. 注册Bintray账号 (传送门) Bintray是jcenter的托管商,因此你必须注册一个Bintray账号,注册完账号后记下你的用户名以及API Key. 登陆后在首

Gradle多项目构建与jar包发布

Gradle多项目构建 关于项目模块化: 在企业项目中,包层次和类关系比较复杂,把代码拆分成模块通常是最佳实践,这需要你清晰的划分功能的边界,比如把业务逻辑层和数据持久化层拆分开来.项目符合高内聚低耦合时,模块化就变得很容易,这是一条非常好的软件开发实践 通常在使用Maven构建项目的时候,我们会将一个项目划分为多个模块,然后通过父工程去管理子模块.而 Gradle 也拥有类似的功能,我们将其称之为多项目构建(multi-project build).所以本小节我们来看看,如何使用 Gradle

使用Gradle发布Android开源项目到JCenter

这里介绍一下,如何使用Gradle发布到jcenter. 注册 先到https://bintray.com注册一个账号. 配置账号 我们需要配置一下BINTRAY_USER及BINTRAY_KEY两个属性.BINTRAY_USER即你注册的账号名,BINTRAY_KEY可通过以下方法找到. 如图所示,先点击你的账号名称进入个人页面. 然后点击Edit,进入编辑页面. 接着点击API key,再点右边的Show就可以看到API KEY了. 然后到你的.gradle目录下(如果你没有配置过GRADL

[转]使用Gradle发布Android开源项目到JCenter

转自:http://blog.csdn.net/maosidiaoxian/article/details/43148643 使用Gradle发布Android开源项目到JCenter 分类: Gradle笔记2015-01-26 09:41 8508人阅读 评论(33) 收藏 举报 gradle发布jcenter发布项目 目录(?)[+] 喜欢做些开源项目的朋友,相信有不少人都希望能把自己的项目发布到公共的中央仓库,如maven中央仓库,以供别人方便地集成使用.而使用了Android Stud

AndroidStuio快速发布开源项目到Jcenter/Bintray

AndroidStuio快速发布开源项目到Jcenter/Bintray 版权声明:转载请注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003 QQ交流群1:46505645 QQ交流群2:46523908 群资源有限,请不要重复加群,谢谢. 前言 最近做了两个开源项目,一个是Android网络框架NoHttp,和Volley.OkHttp一样做客户端请求的,更多相关信息请百度哦:另一个是Android Web服务器框架AndServer,用来在An

[Gradle系列]Gradle发布module库到jcenter, 并构建自己的企业Maven私服

Tamic 作者: http://blog.csdn.net/sk719887916 前言 andorid开发者经常会看到xx公司发布了xx项目,xx公司只提供了gradle配置路径我们就能轻松的使用它们的项目到自己的工程中: 譬如: 谷歌自身的库 compile 'com.android.support:appcompat-v7:22.2.0' 第三方库 compile 'com.squareup.okhttp:okhttp:2.7.2' 很多开发者看过之后羡慕不已, 想自己能不能也写一个自己

Android 快速发布开源项目到jcenter

转载请标明出处(请勿转载删除底部微博.微信等信息): http://blog.csdn.net/lmj623565791/article/details/51148825: 本文出自:[张鸿洋的博客] 大家在很多时候都希望让自己的开源项目可以更方便的让用户去使用,那么对于Android平台,一个很好的方式就是上传到jcenter,然后使用时通过添加compile引用即可. 对于上传到jcenter,也不算技术类的文章,而且已经有很多较好的文章可以参考,写之前我也大致百度了一下. 目前很多文章都是