使用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 信息集成的更多相关文章

  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. Delphi事件的广播2

    上篇文章写了将事件分离成类的方法来实现事件的广播,这次将参考观察者模式来实现事件的广播.模式中主要有这两个角色: 发布者:发布者保存着一张观察者的列表,以便在必要的时候调用观察者的方法. 观察者:观察 ...

  2. Delphi使用StrToDatetime在不同操作系统出现不同的情况(控制面板的时间格式都记录在注册表里,因此也可修改注册表)

    Str:=  '2010-4-13  06:22:22'; StrToDateTime(Str); 现象:在WinXP, Win2003 都不会报错 但是在Windows7,Windows Serve ...

  3. ORA-00376:file x cannot be read at this time

    之前出现过机房断电情况,重启数据库后发现出现ORA-00376的错误. 通过查询数据文件状态: SQL> select file_id,online_status from dba_data_f ...

  4. linux内核基础(系统调用,简明)

    内核基础(系统调用) 在说系统调用之前.先来说说内核是怎么和我们交互的.或者说是怎么和我们产生交集的. 首先,内核是用来控制硬件的仅仅有内核才干直接控制硬件,所以说内核非常重要,假设内核被控制那么电脑 ...

  5. SuSE(SLES)安装配置syslog-ng日志server,可整合splunk

    Update History 2014年04月25日 - 撰写初稿 引言 在自己主动化部署AutoYast.自己主动化监控BMC Patrol双方面形成雏形后.日志的收集.管理.分析也顺势成为我们须要 ...

  6. [cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse编译Fatal signal 11报错-都是字符赋值惹的祸

    流程重现: 使用coco2d-x制作了一个2048,在xcode模拟器执行以及在pad上真机调试都是没有问题的. 可是在使用eclipse调试打包android可以执行,可是进入游戏之后会在随机的地方 ...

  7. [Cocos2d-x]创建项目

    从cocos2d-x 2.1.4之后,就不提供工程项目模板的安装文件了,我们只能手工修改以前的安装文件,让它连接最新的工程,但是这样很麻烦. 我们可以使用python命令创建cocos2d-x项目 步 ...

  8. postgresql优化数据的批量插入

    原文:http://www.cnblogs.com/mchina/archive/2012/08/11/2537393.html 有以下几种方法用于优化数据的批量插入. 1. 关闭自动提交:      ...

  9. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  10. 为何要fork()两次来避免产生僵尸进程?

    为何要fork()两次来避免产生僵尸进程?   当我们只fork()一次后,存在父进程和子进程.这时有两种方法来避免产生僵尸进程: 父进程调用waitpid()等函数来接收子进程退出状态. 父进程先结 ...