关闭 将jar或者aar发布到到mvn 中(用github作为仓库), 通过gradle dependency 方式集成
使用Android Studio开发的用户,都希望通过maven远程仓库的方式来集成jar、aar文件,但是这些文件时如何发布的呢?
通常开发者都会将jar文件发布到sonatype上,以提供给其他开发者集成,但是sonatype要求必须提供源码,而有些情况下,发布者并不想提供源码,这样可以使用本文介绍的方法。
下面就为大家讲解如何在github上创建仓库,将jar和aar文件发布到maven中,以及如何集成。
第一步:
在github.com 上创建一个repo,专门用作maven仓库使用。 例如https://github.com/ione/mvn-repo-ione
第二步:
使用git clone 命令将文件clone到本地。
第三步:
1、发布aar文件
在工程目录的build.gradle文件中添加:
- apply plugin: 'maven'
- android{
- // ...
- }
- // ext is a gradle closure allowing the declaration of global properties
- ext {
- PUBLISH_GROUP_ID = 'com.ione'
- PUBLISH_ARTIFACT_ID = 'demo'
- PUBLISH_VERSION = android.defaultConfig.versionName
- }
- uploadArchives {
- repositories.mavenDeployer {
- def deployPath = file(getProperty('aar.deployPath'))
- repository(url: "file://${deployPath.absolutePath}")
- pom.project {
- groupId project.PUBLISH_GROUP_ID
- artifactId project.PUBLISH_ARTIFACT_ID
- version project.PUBLISH_VERSION
- }
- }
- }
其中aar.deployPath
可在gradle.properties
文件中指定:
- aar.deployPath=E:\\dev\\workspace\\mvn-repo-ione\\repository
路径为第二步clone repo选择的目录。
发布aar文件前,只需要在工程目录下执行命令:
- gradlew uploadArchives
即可生成上传至以github作为maven仓库的所需文件。然后把在第二步clonerepo选择的目录中更新的文件push到github上,即可完成发布。
2、发布jar文件
通过以下命令将本地的jar包安装到此目录下:
- mvn install:install-file -DgroupId=com.ione -DartifactId=demo -Dversion=1.0 -Dfile=E:\dev\libs\com.ione.demo.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=E:\dev\workspace\ione\mvn-repo-ione\repository -DcreateChecksum=true
注意包名和路径
运行上述命令后在本地目录下就有了需要的maven文件,
例如:
- mvn-repo-demogit:(master) tree
- .
- ├── LICENSE
- ├── README.md
- └── repository
- └── com
- └── ione
- └── demo
- ├── 1.0
- │ ├── demo-1.0.jar
- │ ├── demo-1.0.jar.md5
- │ ├── demo-1.0.jar.sha1
- │ ├── demo-1.0.pom
- │ ├── deno-1.0.pom.md5
- │ └── demo-1.0.pom.sha1
- ├── maven-metadata-local.xml
- ├── maven-metadata-local.xml.md5
- └── maven-metadata-local.xml.sha1
- 5 directories, 11 files
然后通过git push 将生成的maven 文件push
到github 上去,即可完成发布。
第四步:
在Android
Studio中集成jar文件或者aar文件
在工程的build.grade
文件中添加:
- repositories {
- jcenter()
- maven { url "https://raw.githubusercontent.com/ione/mvn-repo-ione/master/repository" }
- }
- dependencies {
- compile 'com.ione:demo:1.0'
- }
即可完成集成。
关闭 将jar或者aar发布到到mvn 中(用github作为仓库), 通过gradle dependency 方式集成的更多相关文章
- 将jar要么aar公布到到网mvn 在(使用github作为仓库), 通过gradle dependency 信息集成
使用Android Studio用户开发,都希望通过maven该方式整合远程仓库jar.aar文件.但如何将这些文件发布它? 发人员都会将jar文件公布到sonatype上,以提供给其它开发人员集成, ...
- [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...
- [转][Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
转自:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool [Android][Android Studi ...
- 转-Android Studio *.jar 与 *.aar 的生成与*.aar导入项目方法
主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...
- 【Android端】代码打包成jar包/aar形式
Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...
- [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法(转)
[Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法http://blog.csdn.net/qiujuer/article/details/ ...
- Android Studio工程项目打包成SDK(jar或aar格式)
Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...
- AS 3.1 项目打包成jar或aar
1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...
随机推荐
- HDU - 4513 吉哥系列故事――完美队形II(manacher)
1.找出一个最长的回文子串,要求中间的值最大,然后向两侧递减. 2.判断条件改为:Ma[i+Mp[i]]==Ma[i-Mp[i]]&&Ma[i-Mp[i]]<=Ma[i-Mp[i ...
- 使用ubuntu16.04配置linux内核和busybox出现错误的解决方法总结
也许很多人都知道,ARM裸机1期加强版课程用的是ubuntu 16.04,当用这个ubuntu编译内核和制作文件系统的时候会出现一些问题,售后团队用了一天时间找到了如下解决方法. 更多干货关注威信 ...
- 利用Redis Sentinel实现redis主从自动切换
redis主从配置很简单,只需要在slave的配置里加slaveof 192.168.0.100 6379(master的ip和端口) 如果master有密码再设置 masterauth passwo ...
- Kafaka入门篇
1.Apache Kafka - 简介 Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点. Kafka适合离线 ...
- mysql主从同步异常原因及恢复
mysql主从同步异常原因及恢复 前言 mysql数据库做主从复制,不仅可以为数据库的数据做实时备份,保证数据的完整性,还能做为读写分离,提升数据库的整体性能.但是,mysql主从复制经常会因为某些原 ...
- [SDOI2016]墙上的句子
题目描述 考古学家发现了一堵写有未知语言的白色墙壁,上面有一个n行m列的格子,其中有些格子内被填入了某个A至Z的大写字母,还有些格子是空白的. 一直横着或竖着的连续若干个字母会形成一个单词,且每一行的 ...
- hdu 2121 Ice_cream’s world II (无定根最小树形图)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2121 题目大意: 有n个点,有m条单向路,问这n个点组成最小树形图的最小花费. 解题思路: 1:构造 ...
- 【BZOJ3514】Codechef MARCH14 GERALD07加强版(LCT_主席树)
题目: BZOJ3514 分析: 看到这题真的是一脸懵逼无从下手,只好膜题解.看到「森林的联通块数 = 点数 - 边数」这一句话就立刻什么都会了 QAQ . 这题最重要的就是意识到上面那个式子(正确性 ...
- 递推DP UVA 590 Always on the run
题目传送门 题意:题意难懂,就是一个小偷在m天内从城市1飞到城市n最小花费,输入的是每个城市飞到其他城市的航班. 分析:dp[i][j] 表示小偷第i天在城市j的最小花费.状态转移方程:dp[i][j ...
- 题解报告:hdu 1059 Dividing(多重背包、多重部分和问题)
Problem Description Marsha and Bill own a collection of marbles. They want to split the collection a ...