使用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文件里加入:

  1. apply plugin: 'maven'
  2.  
  3. android{
  4. // ...
  5. }
  6.  
  7. // ext is a gradle closure allowing the declaration of global properties
  8. ext {
  9. PUBLISH_GROUP_ID = 'com.ione'
  10. PUBLISH_ARTIFACT_ID = 'demo'
  11. PUBLISH_VERSION = android.defaultConfig.versionName
  12. }
  13.  
  14. uploadArchives {
  15. repositories.mavenDeployer {
  16. def deployPath = file(getProperty('aar.deployPath'))
  17. repository(url: "file://${deployPath.absolutePath}")
  18. pom.project {
  19. groupId project.PUBLISH_GROUP_ID
  20. artifactId project.PUBLISH_ARTIFACT_ID
  21. version project.PUBLISH_VERSION
  22. }
  23. }
  24. }

当中aar.deployPath
可在gradle.properties
文件里指定:

  1. aar.deployPath=E:\\dev\\workspace\\mvn-repo-ione\\repository

路径为第二步clone
repo选择的文件夹。

公布aar文件前。仅仅须要在project文件夹下运行命令:

  1. gradlew uploadArchives

就可以生成上传至以github作为maven仓库的所需文件。

然后把在第二步clonerepo选择的文件夹中更新的文件push到github上。就可以完毕公布。

2、公布jar文件

通过下面命令将本地的jar包安装到此文件夹下:

  1. 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文件,
比如:

  1. mvn-repo-demogit:(master) tree
  2. .
  3. ├── LICENSE
  4. ├── README.md
  5. └── repository
  6. └── com
  7. └── ione
  8. └── demo
  9. ├── 1.0
  10. ├── demo-1.0.jar
  11. ├── demo-1.0.jar.md5
  12. ├── demo-1.0.jar.sha1
  13. ├── demo-1.0.pom
  14. ├── deno-1.0.pom.md5
  15. └── demo-1.0.pom.sha1
  16. ├── maven-metadata-local.xml
  17. ├── maven-metadata-local.xml.md5
  18. └── maven-metadata-local.xml.sha1
  19.  
  20. 5 directories, 11 files

然后通过git push 将生成的maven 文件push
到github 上去,就可以完毕公布。

第四步:

在Android
Studio中集成jar文件或者aar文件

在project的build.grade
文件里加入:

  1. repositories {
  2. jcenter()
  3. maven { url "https://raw.githubusercontent.com/ione/mvn-repo-ione/master/repository" }
  4. }
  1. dependencies {
  2. compile 'com.ione:demo:1.0'
  3. }

就可以完毕集成。

将jar要么aar公布到到网mvn 在(使用github作为仓库), 通过gradle dependency 信息集成的更多相关文章

  1. 关闭 将jar或者aar发布到到mvn 中(用github作为仓库), 通过gradle dependency 方式集成

    使用Android Studio开发的用户,都希望通过maven远程仓库的方式来集成jar.aar文件,但是这些文件时如何发布的呢? 通常开发者都会将jar文件发布到sonatype上,以提供给其他开 ...

  2. [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...

  3. [转][Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

     转自:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool [Android][Android Studi ...

  4. 转-Android Studio *.jar 与 *.aar 的生成与*.aar导入项目方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...

  5. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...

  6. Android Studio工程项目打包成SDK(jar或aar格式)

    Android工程项目打包成SDK 在app的gradle下进行设置: (1)将apply plugin: ‘com.android.application’ 改为apply plugin: ‘com ...

  7. 【Android端】代码打包成jar包/aar形式

    Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...

  8. [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法(转)

    [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法http://blog.csdn.net/qiujuer/article/details/ ...

  9. AS 3.1 项目打包成jar或aar

    1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...

随机推荐

  1. 响应VC++ 标题栏右边的关闭按钮“红叉”

    击标题栏右边的关闭按钮“红叉”时,程序会向窗口发送WM_CLOSE消息,因此可以截取此消息在窗口关系前做一些提示或者是不允许点击时关闭程序 case WM_CLOSE: if (...) { Post ...

  2. c#超时锁定

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. 上Https 和 http 差分

    HTTPS 和 HTTP 差协议 超文本传输协定HTTP 对于web 浏览器和现场服务之间传递消息,HTTP 以纯文本协议 发送内容 无论不提供数据加密方法 假设拦截攻击web 浏览器和网站serve ...

  4. Android开发周报:反编译对抗研究、动手制作智能镜子

    新闻 <Android Wear落地中国 谷歌增强安卓生态控制力> :9月8日,由摩托罗拉推出的智能手表Moto 360二代作为国内发售的第一款搭载官方Android Wear的设备,正式 ...

  5. SRM 638 Div2

    2333... 因为TC过少的参与者.加上不断fst 我掉了div2该. 幸运的是完成的背div1该.. 250 水的问题 500 水的问题.. 直接bfs扩展即可了 注意判重.  我还用康托展开了真 ...

  6. [linux]ubuntu apt-get安装软件失败

    1.首先查看 dns 配置 sudo vi /etc/resolv.conf nameserver 114.114.114.114 nameserver 8.8.8.8 2.修改 apt-get 源 ...

  7. TkinterGUI - 初识Tkinter

    前言 近期有写一个简单GUI程序的点子,具体写什么就不说了,但一个要求就是有跨平台的功能. 确切的讲,是我希望这个程序写好后能同时在Windows和Linux下运行,而且要方便随时修改. 对于编程语言 ...

  8. LINUX专题之操作系统字符集

    原创作品,出自 "深蓝的blog" 博客,欢迎转载.转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog: http://blog.csdn.net/huangyanl ...

  9. zoj1940(三维广搜)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=940 分析:三维其实就是六个方向地搜索,思维清晰且细心点,很快就AC了 ...

  10. 基于Redis Sentinel的Redis集群(主从Sharding)高可用方案(转)

    本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在 ...