• 关闭 将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:devlibscom.ione.demo.jar -Dpackaging=jar -DgeneratePom=true -DlocalRepositoryPath=E:devworkspaceionemvn-repo-ione epository -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.   }  




    即可完成集成。

  • 相关阅读:
    SQL Server 2005存储过程示例
    SQL Server 存储过程
    SQL Server 2005存储过程示例
    转正申请书
    SQL注入天书
    转:毕业半年,我是如何从一名程序员成长为一名项目经理
    DIMFOM
    MONSA
    GLOBSYMM
    MASSHA
  • 原文地址:https://www.cnblogs.com/exmyth/p/5691487.html
Copyright © 2020-2023  润新知