[Android]使用Gradle提交自己开源Android库到Maven中心库
以下内容为原创,欢迎转载,转载请注明
来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4388175.html
此文针对开源爱好者。
如果你想让别人使用你的Android开源库,第一种方法是,提供你的Github地址,让别人clone一份,然后让别人import到他的项目中。另一种更简单的方式就是直接让别人在他的Gradle中添加你的库依赖,如下:
compile 'com.github.wangjiegulu:AndroidBucket:1.0.1'
如果想使用第二种方式,你需要将你的项目提交到公共的中心库。
这里介绍使用sonatype来把你的开源库(snapshot或release)提交到Maven的中心库。
1. 首先,在https://issues.sonatype.org中注册账号。
2. 然后在https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134中新建一个“Project ticket”。
-Summary:填写项目名称
-Description:填写描述
-Group Id:域名反转,如果没有域名,就直接使用github反转(如github.com/wangjiegulu --> com.github.wangjiegulu),具体看http://central.sonatype.org/pages/choosing-your-coordinates.html
-Project URL:项目的url,可以是项目的github地址。如https://github.com/wangjiegulu/AndroidBucket
-SCM url:版本控制的uri,如https://github.com/wangjiegulu/AndroidBucket.git
3. 创建完毕后就等待状态变为“resolved”,然后你就可以使用Gradle上传项目了。
4. 上传前需要进行GPG签名,所以先去下载GPG(https://www.gnupg.org/download/index.html),然后打开
新建一个Keychain,完成后右键“Send Public Key to Key Server”,这样就能把你的public key发送到服务端。
5. 然后我们再打包项目的aar文件,intellij idea和android studio使用gradle构建后,会在build中自动生成该文件,直接把他拷出来即可。
6. 然后新建build.gradle来进行我们的上传操作,大概内容如下:
// *********************************************************************
apply plugin: 'maven'
apply plugin: 'signing' //使用signing plugin做数字签名 //定义GroupID和Version,ArtefactID会自动使用Project名
group = 'com.github.wangjiegulu'
version = '1.0.1' repositories {
mavenCentral();
} artifacts {
archives file('AndroidBucket.aar')
}
signing {
sign configurations.archives
} uploadArchives {
repositories {
mavenDeployer {
//为Pom文件做数字签名
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } //指定项目部署到的中央库地址,UserName和Password就是Part 1中注册的账号。
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
authentication(userName: ossrhUsername, password: ossrhPassword)
} //构造项目的Pom文件,参见Part 2中Pom文件的规范,不要遗漏必填项
pom.project {
name project.name
packaging 'aar'
description 'Android开发常用整理'
url 'https://github.com/wangjiegulu/AndroidBucket' scm {
url 'scm:git@github.com:wangjiegulu/AndroidBucket.git'
connection 'scm:git@github.com:wangjiegulu/AndroidBucket.git'
developerConnection 'git@github.com:wangjiegulu/AndroidBucket.git'
} licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'wangjie'
}
} developers {
developer {
id 'wangjie'
name 'Wagn Jie'
email 'tiantian.china.2@gmail.com'
}
}
}
}
}
}
archives file('AndroidBucket.aar') 表示指定上传的aar文件。
signing {
sign configurations.archives
}
表示对内容进行gpg签名,既然需要签名,那需要在gradle.properites中配置key的信息,还有上传的账号密码:
signing.keyId=XXXXXXXXX
signing.password=XXXXXXXXX
signing.secretKeyRingFile=/Users/wangjie/.gnupg/secring.gpg
ossrhUsername=oss.sonatype.org或者issues.sonatype.org的账号(同一个)
ossrhPassword=oss.sonatype.org或者issues.sonatype.org的密码(同一个)
所有配置完毕后执行gradle uploadArchives进行上传操作。
7. 登录https://oss.sonatype.org,点击左边的“Staging Repositories”,然后刚刚上传的项目名称为com.github.wangjiegulu去掉点-数字
选中后点击“Close”,如果成功,则再点击“Release”按钮发布。
然后再等待2小时,就可以在Maven中心库中搜索到了。
注意:以后如果需要再上传其它项目的时候,直接从第4步开始即可,因为你的groupId已经申请过了,以后新的artifacts可以直接部署到这个groupId中。
参考:http://central.sonatype.org/pages/ossrh-guide.html
[Android]使用Gradle提交自己开源Android库到Maven中心库的更多相关文章
- [Android游戏开发]八款开源 Android 游戏引擎 (巨好的资源)
初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引 ...
- [转]使用Gradle管理你的Android Studio工程
本文转自:http://www.flysnow.org/2015/03/30/manage-your-android-project-with-gradle.html Gradle简介 Gradle ...
- Android Studio 3.4 修改 .android 和.gradle缺省目录-windows7x64专业版环境。
说明:缺省会在用户目录建立.android和.gradle目录.会挤满C盘.可以改变缺省目录. 改变.gradle目录路径示例,修改到D:\android目录,步骤: 1.建立d:\android目录 ...
- 如何在Android Studio项目中导入开源库?
前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发.然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不 ...
- android开源项目:图片下载缓存库picasso
picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能. picasso有如下特性: 在a ...
- Android Fresco (Facebook开源的图片加载管理库)
Fresco是Facebook开源的一个图片加载和管理库. 这里是Fresco的GitHub网址. 同类型的开源库市面有非常多,比如Picasso, Universal Image Loader, G ...
- android 开发必用的开源库
LogReport: https://github.com/wenmingvs/LogReport, 崩溃日志上传框架 wcl-permission-demo:Android 6.0 - 动态权 ...
- 1. Android 系统上一款开源的图表库
1. MPAndroidChart MPAndroidChart 是 Android 系统上一款开源的图表库.目前提供线图和饼图,支持选择.缩放和拖放. 一个可以拖动缩放的图表库,包含曲线图.直方图 ...
- android studio gradle 打jar 包 (混淆+第三方库包)
将依赖的第三方库打包进自己的jar包 1.先将第三方的库包拿到,然后添加jar包到项目的libs. 2.项目的build.gradle脚本添加下面的task: task buildJar(depend ...
随机推荐
- 帮助你实现漂亮界面的14套免费的 HTML/CSS 源码
在网络上能找很多免费的 PSD 格式素材,但是很少有 HTML/CSS 界面组件下载.在这篇文章中,收集了14套免费的 HTML/CSS 界面源码分享给前端设计师和开发者们.这些组件包括按钮.滑块.表 ...
- Redis持久化方法对比分析
1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...
- [SDK2.2]Windows Azure Virtual Network (2) 创建简单的Virtual Network
<Windows Azure Platform 系列文章目录> 本章笔者将介绍如何创建一个简单的 Virtual Network. 1.首先我们登陆Windows Azure管理界面 ht ...
- 【模式匹配】更快的Boyer-Moore算法
1. 引言 前一篇中介绍了字符串KMP算法,其利用失配时已匹配的字符信息,以确定下一次匹配时模式串的起始位置.本文所要介绍的Boyer-Moore算法是一种比KMP更快的字符串匹配算法,它到底是怎么快 ...
- Python性能提升小技巧
第一部分 1-使用内建函数: 你可以用Python写出高效的代码,但很难击败内建函数. 经查证. 他们非常快速 2-使用 join() 连接字符串. 你可以使用 + 来连接字符串. 但由于string ...
- MySql笔记01
用了两天的时间终于把MySql安装好了,还是很麻烦的,之所以没有选择直接安装,使用的是免安装版本,主要是想了解这个数据库的配置,这样以后就可以更好的了解它了. 登录MySql:mysql –h loc ...
- PHPcms 系统简单使用
1.站点/发布点的新建 1.1 发布点的新建: 发布点是设置站点与服务器之间的链接配置. 设置 - 发布点管理 - 添加发布点 发布点名:可以与接下来的站点名称相同 ftp服务器:用于设置PHPcms ...
- C#多种方式获取文件路径
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str1 =Process.GetCurren ...
- EasyUI使用tree方法生成树形结构加载两次的问题
html代码中利用class声明了easyui-tree,导致easyUI解析class代码的时候先解析class声明中的easyui-tree这样组件就请求了一次url:然后又调用js初始化代码请求 ...
- ASP.NET页面中去除VIEWSTATE视
保存页的所有视图状态信息和控件状态信息. 源码:http://www.jinhusns.com/Products/Download/?type=xcj 作者在早期参与的项目中曾遇到这样的需求:基于SE ...