将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文件
在project文件夹的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文件前。仅仅须要在project文件夹下运行命令:
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文件
在project的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 Studio工程项目打包成SDK(jar或aar格式)
Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...
- 【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/ ...
- AS 3.1 项目打包成jar或aar
1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...
随机推荐
- 为什么Lisp语言如此先进?(译文) - 阮一峰的网络日志
为什么Lisp语言如此先进?(译文) - 阮一峰的网络日志 为什么Lisp语言如此先进?(译文)
- URAL 1056(树形DP)
1056. Computer Net Time limit: 2.0 second Memory limit: 64 MB Background Computer net is created by ...
- cocos2d-x 3.0 使用最新物理引擎的一个源代码实例
1.碰撞函数參数由两个变成一个了 2.检測不到碰撞.须要设置那三个參数.同一时候还要设置成动态的. body进行设置. 3.初始入口文件也发生了改变. 附录上我近期调试好的cocos2d-x 3.1 ...
- 在浏览器中通过bartender,调用条码打印机的active控件代码的实现
系统中须要在浏览器,直接调用条码打印机,打印出产品条码. 现实中的条码打印机,品种繁多,非常难在一个程序中实现, 于是我们用已经支持全部条码打印机的bartender软件 调用它的api ,来实如今浏 ...
- IE6下position:fixed不支持问题及其解决方式
IE6有诸多奇葩,不支持position:fixed就是当中之中的一个.所以在做一些比方固定在顶部或者底部或者固定元素的效果时须要考虑兼容IE6的这个问题.解决方式是用Ie6的hack. *html ...
- 模式识别 - 处理多个演示样本研究(MIL)特点(matlab)
处理多个演示样本研究(MIL)特点(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习 ...
- codeforces 604B More Cowbell
题目链接:http://codeforces.com/contest/604/problem/B 题意:n个数字,k个盒子,把n个数放入k个盒子中,每个盒子最多只能放两个数字,问盒子容量的最小值是多少 ...
- [C++]函数参数浅析
Date:2014-1-9 Summary: 函数参数相关记录 Contents:1.形参实参 形参:用于接收值的变量被称为形参 实参:传递给函数的值被称为实参 2.函数的参数传递之后2种 a).值传 ...
- java中clone的深入理解
Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的? 1. Clone和Copy 假 ...
- hdu 5071 Chat(模拟)
题目链接:hdu 5071 Chat 题目大意:模拟题. .. 注意最后说bye的时候仅仅要和讲过话的妹子说再见. 解题思路:用一个map记录每一个等级的妹子讲过多少话以及是否有这个等级的妹子.数组A ...