close
当前位置: 物联网在线 > 技术文库 > android >

Android studio发布包到 Bintray 远程仓库

以下用到的工具和命令都是Mac系统下的


1、注册

如果没有bintray帐号先去 https://bintray.com 注册

2、创建签名

下载 gpgtool
创建证书

Android studio发布包到 Bintray 远程仓库

创建证书


在终端输入命令,获得公钥 ID
gpg --list-keys

Android studio发布包到 Bintray 远程仓库

获得公钥

上传公钥到服务器,继续在终端输入命令


gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 证书公钥
生成公钥和私钥文件,来配置bintray的 public key 和 private key
在终端输入

Android studio发布包到 Bintray 远程仓库

gpg -a --export email@your-mailbox.com > public_key_sender.asc
gpg -a --export-secret-key email@your-mailbox.com > private_key_sender.asc
把命令行输出的证书记录下来然后打开https://bintray.com/profile/edit
进行配置。

Android studio发布包到 Bintray 远程仓库


设置 bintray maven 包自动签名

Android studio发布包到 Bintray 远程仓库

Android studio发布包到 Bintray 远程仓库

3、创建maven仓库

新建一个maven仓库,这里的name到时候要用到的

Android studio发布包到 Bintray 远程仓库

到此Bintray的配置就好了,以后就可以直接使用了。然后就要转到Android studio创建项目了


4、创建并配置library项目

Android studio发布包到 Bintray 远程仓库

在project的build.gradle配置

Android studio发布包到 Bintray 远程仓库

classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' 5、配置library module的build.gradle

添加插件
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
添加版本号
version = "0.0.1"
添加项目地址


def siteUrl = 'https://github.com/ldoublem/LoadingView'
def gitUrl = 'https://github.com/ldoublem/LoadingView.git'
定义group,要唯一,一般是用包名,可以去https://bintray.com/bintray/jcenter 查询
group = "com.ldoublem.loadingview"
定义pom并打包aar,javadoc jar和source jar

install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' name 'code For Android'//描述信息 url siteUrl licenses { license { name 'The Apache software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer {//开发者信息 id '' name 'ldoublem'//你的名字和邮箱 email '122710260@qq.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 } javadoc { options{ encoding 'UTF-8' charSet 'UTF-8' author true } } artifacts { archives javadocJar archives sourcesJar } 6、设置local.properties的user和apikey

设置local.properties的user和apikey,防止信息泄露,记得使用忽略文件将其忽略提交。

Android studio发布包到 Bintray 远程仓库

Android studio发布包到 Bintray 远程仓库

7、配置上传maven仓库

在library module的build.gradle配置上传maven仓库,从local.properties读取user和apikey

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 = "loadingviewlib" // project name in maven websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true } } 8,打开Android studio Terminal命令行执行

./gradlew bintrayUpload
如果成功会有提示,如图

Android studio发布包到 Bintray 远程仓库


9、完工
(责任编辑:ioter)

用户喜欢...

Android Weekly #276 安卓开发周刊 中文版

您是否了解过Android的Lifecycle-Aware库?(android.jlelse.eu) 我们如何了解Lifecycle-Aware库代码? Nishant Srivastava展示了可以跟踪活动或Lifecycle-Aware的Lifecycle Arch组件的片段,并相应地调整其行为。 为Mos...


Android Weekly #275 安卓开发周刊 中文版

MapMe — Android地图适配器 (medium.com) Josh Burton介绍MapMe,是一个用Kotlin编写的Android库,可以将适配器模式带到地图上。 赞助 CloudRail - 连接到API 10x更快 (cloudrail.com) 当我们用单一的界面连接到所...


使用Android Studio开发可独立运行(runnable)混淆过的Jar程序

之前开发Java程序一直都是使用Eclipse 开发Jar程序,现在开发基本上都已经弃用Eclipse了,但是有时偶尔开发个小的Jar程序,还要切换回去好麻烦,刚好前几天有人问几个相关的问题,就顺便整...


Android Weekly #274 安卓开发周刊 中文版

探索Android Oreo上的别后执行限制(medium.com) 在这篇文章中,Joe Birch解释了关于Android Oreo在后台运行服务的变化。 non-Time领主的time – 第5部分 (blog.stylingandroid.com) Mark Allison继续分析JSR 310 date和...


Android Weekly #273 安卓开发周刊 中文版

开源你的Android代码(android.jlelse.eu) 通过您的开源Android代码,您将(希望地)为Android社区提供有价值的代码,收到建设性的反馈,并与您最初建立的内容进行协作从而使您的代码变得更好。这...


Android Weekly #272 安卓开发周刊 中文版

Android Dev 101:每个初学者都应该知道的一些做法() 看一些初学者或媒介等级开发人员(不要错过任何人)应该知道的一些做法,以便更好地摆脱Android框架。 99.9% crash free sessions (medium.com) Chr...


Android Weekly #271 安卓开发周刊 中文版

依赖注入检查(medium.com) 在本文中,MihályNagy引入了依赖注入检查,一种开源注释处理器,可帮助您解决一些出现在所有JSR 330 DI库中常见的问题。 使用Android Studio插件提高效率 (blog.mindorks.com...


Android Weekly #270 安卓开发周刊 中文版

带有RxJava2的SOLID Android分析 (medium.com) 在这篇文章中,Aris Papadopoulos将解释如何正确创建一个分析系统,同时遵循SOLID原则,并使用RxJava2来解决问题。 (blog.stylingandroid.com) Java中的编程时间很难...


Android内存泄漏思考

Android内存泄漏是一个经常要遇到的问题,程序在内存泄漏的时候很容易导致OOM的发生。那么如何查找内存泄漏和避免内存泄漏就是需要知晓的一个问题,首先我们需要知道一些基础知识。...


Android Weekly #269 安卓开发周刊 中文版

在Google上快速提出操作 () Wolfram Rittmeyer分享了开始在Google上快速创建操作所需的所有信息(为了家庭与助理)。 RxJava中的错误处理(rongi.github.io) 一旦开始编写RxJava代码,你就会意识到有些事...