使用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文件中添加:

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

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

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

路径为第二步clone repo选择的目录。

发布aar文件前,只需要在工程目录下执行命令:

  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. 5 directories, 11 files

然后通过git push 将生成的maven 文件push
到github 上去,即可完成发布。

第四步:

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

在工程的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. }

即可完成集成。

最新文章

  1. Semaphore(计数信号量)
  2. C#,java,C++ 等变量命名规则
  3. [转] - C++程序启动过程
  4. JDBC连接属性
  5. PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法
  6. shopnc 商城源码阅读笔记--开篇概述
  7. python学习笔记五--文件
  8. 转载收藏之用 - 微信公众平台开发教程(七):解决用户上下文(Session)问题
  9. 凸包(hd1392)
  10. chapter5 函数
  11. winXP/win7/win10系统关闭445端口方法全攻略
  12. 插件开发之360 DroidPlugin源码分析(二)Hook机制
  13. js算法初窥03(简单搜索及去重算法)
  14. 关于mybatis中typeHandler的两个案例
  15. jQuery实现遮罩层
  16. C Looooops(poj2115+扩展欧几里德)
  17. Week3 关于“微软必应词典客户端”的案例分析
  18. How to use, monitor, and disable transparent hugepages in Red Hat Enterprise Linux 6
  19. 公告:《那些年,追寻Jmeter的足迹》上线
  20. P4774 [NOI2018]屠龙勇士

热门文章

  1. 如何判断http服务器是否支持range寻址
  2. spark安装和登陆配置
  3. python requests 调用restful api
  4. CF 949 D Curfew —— 二分答案
  5. asp.net 常用代码
  6. mybatis 基础详解
  7. strcpy(转载)
  8. node+ws模块实现websocket
  9. [IOI1998]Picture
  10. 暴力/DP Codeforces Beta Round #22 (Div. 2 Only) B. Bargaining Table