目录
唯有艰辛二字,方可体现我辈此时心境。另外,在期间出现的一些问题,也许可以从这篇博客当中活得一些灵感。
https://blog.csdn.net/u011489043/article/details/96285374
准备工作
1.首先你需要一条通往国外的小路,直接去github 搜,阻碍我们的因素中,这一步异常关键。
2.你需要一个国外的邮箱,因为国内的邮箱极有可能收不到邮件。
注册 github 账号
因为上传包到 jcenter 需要 github 的项目地址,所以我们要先将我们的项目发布到开源社区github。先注册 :https://github.com/join 这里就可以使用到我们的雅虎的邮箱了。
注册成功后,点开我们个人页面的这个地方,如下图:
在这个界面上 ,有你全部上传的开源项目,新建账号这里是为 null 的,然后你需要点击这个new ,进行新建一个项目。
点击之后,到了下图的新建界面。这里我们需要填写两个地方,一个是我们的开源项目的名称,一个是属性,一个是否开源,我们一定要选择开源,私有是不行的。
在你点击新建按钮之后,到了如下这个界面 。关注下面这个地址 ,到这里其实就差不多了,接下来的工作就是将你的项目上传到这个仓库里面。就跟我们平常使用svn 和 git 上传下载代码是一样的。
上传项目到github
要上传项目到github ,你先要下载一个git .这个我就不贴下载地址了,直接去百度一下git 下载就OK 。下载完成后,选择你要上传的项目文件夹,然后右键,选择git base here 然后准备敲git 命令。如果阁下一点git 命令都不懂的话 ,可以先去百度一下学习一下。下面是我找的一些图:
首先 敲 git init 进行仓库的初始化
接下来敲 git add . 把所有的文件提交到暂存区,讲真,git 的暂存区 ,本地仓库 ,这里的区别我都忘记了,不过这里不影响。
紧接着 ,敲git commit -m " " 这里的命令 后面的字符串 “ ” 中需要填写我们本次提交的描述 ,你随便填。
如果你是第一次进行该操作 ,可能会让你填写登录 github 的账号跟邮箱。
记住,这里是分别填写。先敲命令:git config --global user.email "邮箱" 再敲命令:git config --global user.name "名称",都要敲。都敲完之后 ,然后你把上面的commit 的命令再敲一遍。
敲完之后,需要敲 git remote add origin 加上你在github 创建的仓库地址 。
最后,敲git push -u origin master 把本地的代码更新到远程仓库就OK了 ,这个时候看看github 项目应该就上传上去了。
注册 Bintray 网站的账户
注册地址:https://bintray.com/login?forwardedFrom=%2F 选择下面的这种类别
填写姓名,用户名,密码,邮箱,国家等信息,点击创建即可,他会发激活的邮件到你的邮箱,去邮箱获取激活码即可。
注册成功后,登录进来 ,你会看到如下的页面 ,正常来说,你这里应该是没有任何的仓库的。这里是因为我之前有新建,所以有一个maven 仓库 。
你需要点击如下的这个add 按钮:
有几项是我们需要关注的,名称最好填maven ,当然不填的话 ,后面要在android studio 中配置一下,type 也选择maven ,Default Licenses 证书这里,可以查看下面的第二张图。选择的证书不同,所代表的功能也不同。
填完之后,点击Create 按钮进行创建,这里的工作就完成了。在这个仓库里面还有这个按钮,这个按钮我们后面再说一下,现在就先不管。接下来是android studio 中的library 的一些配置工作。
配置 android library gradle
首先你需要会生成aar 或者jar 包,如果还不会的话,需要在网上查查相关的资料才行,这里有篇我转载的:https://blog.csdn.net/a260724032/article/details/103472914 我自己本身写的也不太好。我记得之前我去面试的时候,被面试官问到,会不会插件化 ,组件化 ,其实我那时候真不懂 ,但是感觉这玩意异常高端,后面一查才发现,就是抽离业务到library 中,或者生成aar 和jar......瞬间明悟。
我这里上传aar 用的是:bintray-release 这个工具,不同的工具需要的配置可能是不一样的。bintray-release 要在项目的 build.gradle 的 dependencies 中添加
classpath 'com.novoda:bintray-release:0.9.1'
然后在你的library 中添加
apply plugin: 'com.novoda.bintray-release'
这个时候,引入下面这段配置
publish {
//repoName = 'maven'//仓库名
userOrg = '你jcenter的用户名'//用户名
groupId = 'com.android.mylibrary'//生成的gradle依赖前缀。
artifactId = '项目名'//项目名
publishVersion = '1.0.1' //版本号
desc = 'android code' //描述
website = '你项目的github 地址,不用加地址后面的 .git'
repository = '你项目的github 地址,有 .git'
}
repoName
这里需要说一下,前面我们创建Package的时候,有一栏说要填写maven,如果你填了,那么 repoName 就不用填了,如果你填的是其他的 ,比如abcd 啊,这里,你就需要 repoName = 'abcd' 。
userOrg
需要填你jcenter 的用户名。ps:这里我是填这个然后上传成功的。
groupId
填你想要的前缀,举例,我们一般引入一个依赖是这样的:
compile 'com.android.support:recyclerview-v7:21.0.2'
引号内字符串以冒号分割为三部分,第一部分就是group,第二部分是artifactId, 第三部分是上面定义的publishVersion。
website
填写的是你的github 的地址,看代码里面的描述就可以了。
artifactId
这里我们再说说之前的add new package 这个按钮 ,如果我们一开始的时候,就点击这个按钮新建了一个包,那么我们的artifactId 这个属性,就一定要等于 我们新建包里面创建的那个名称,如果我们一开始没有点击这个按钮配置一些信息 ,那么我们artifactId 这个属性就可以随便填 ,它会根据我们填写的 artifactId 名称帮我们在仓库里面,自动生生成一个包的。
命令上传aar
配置好gradle 这些信息之后,我们就可以敲命令开始上传aar 了 ,在android studio 中的 Terminal 敲 命令如下:
gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=apikey -PdryRun=false
PbintrayUser 是你的 jcenter 用户名 ,PbintrayKey 可以从如下地方找到:
可能会要你填写你的密码 ,然后点击submit
拿到你的key 之后,
gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=你的key -PdryRun=false
敲下回车 ,我们就可以等它自动上传了。上传时间可能长达10几分钟,请耐心等候,如果成功,那么你会看到如下界面:
我这里因为有两个包,正常你初始化的话 ,应该只有一个包,不要在意。
点击你上传的这个包,是这样的。aar 就算是正式上传成功了,接下来你可能还需要把你的包发布出去,这样才能直接依靠gradle 引用你的包,不然的话 ,类似于你这个包只能是你私人的,没有开源。点击右下角的add 按钮,什么都不用管,直接Send 发布即可。
如果你不发布 ,也是开源在项目里面直接使用你的这个包的,具体步骤如下:
1.在项目的gradle 的 allprojects 中,添加maven的库名称,图中所示:
maven{ url "https://dl.bintray.com/XXXXXX/maven" }
2.(下图中第一个红框是本地引入aar 的方式,大家可以忽略)
如图第二个红框中,然后添加你仓库中的 gradle 依赖 。(记得在发布成功之后,把项目的gradle 的 allprojects 中配置的 maven 删除掉。)