关闭 将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文件中添加:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  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 文件中指定:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. aar.deployPath=E:\\dev\\workspace\\mvn-repo-ione\\repository  

 

 

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

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

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. gradlew uploadArchives  

 

即可生成上传至以github作为maven仓库的所需文件。然后把在第二步clonerepo选择的目录中更新的文件push到github上,即可完成发布。

 

  2、发布jar文件

通过以下命令将本地的jar包安装到此目录下:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  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文件, 例如:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  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文件

在工程的build.grade 文件中添加:

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. repositories {  
  2.           jcenter()  
  3.           maven { url "https://raw.githubusercontent.com/ione/mvn-repo-ione/master/repository" }  
  4.   }  

 

[java] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. dependencies {  
  2.       compile 'com.ione:demo:1.0'  
  3.   }  



 


即可完成集成。

posted @ 2016-07-21 13:52  牧之丨  阅读(793)  评论(0编辑  收藏  举报