美文网首页
Android Studio 将Library 发布到本地mav

Android Studio 将Library 发布到本地mav

作者: 吕志豪 | 来源:发表于2017-11-22 11:46 被阅读0次

    作者:猿圆猿
    链接:http://www.jianshu.com/p/8d7d0cc8fcc3
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    需求说明:
    项目中使用了一些第三方,但是有些第三方的产品不是很符合项目需求,需要在其基础上稍加修改.

    1. 以前的办法
      自己新建一个项目,将第三方源码拷贝过来,修改成自己想要的,
      然后发布到jcenter上面去 ,
      在项目中引用自己发布的地址.
    2. 现在的办法
      直接从github拷贝项目,修改代码后,
      发布到本地maven仓库,
      项目中引用本地maven仓库中的地址
      比之前的方法简单

    第一步

    新建一个Android项目。在根目录下gradle.properties中添加一下信息

    #包信息  需要修改成你的
    GROUP_ID = com.kcode.github.pubutils
    
    # Licence信息  基本是固定的
    PROJ_LICENCE_NAME=The Apache Software License, Version 2.0
    PROJ_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
    PROJ_LICENCE_DEST=repo
    

    第二步

    创建一个Libary,我命名为AndroidLib
    在AndroidLib的根目录下新建gradle.properties文件,添加

    #包信息
    ARTIFACTID = androidLib
    LIBRARY_VERSION = 0.0.2
    
    #Mac下地址:file:///Users/<username>/my/local/repo
    #Ubuntu下地址:file:///home/<username>/.m2/repository/
    #windows下地址:file:///C:\Users\lv\.m2\repository\
    修改成你电脑的maven仓库路径,我用的是Ubuntu,所以是这个
    LOCAL_REPO_URL=file:///home/lv/.m2/repository/
    

    第三步

    在Library也就是刚才创建的AndroidLib下的gradle.build中添加

    apply plugin: 'maven'
    uploadArchives{
        repositories.mavenDeployer{
            repository(url:LOCAL_REPO_URL)
            pom.groupId = GROUP_ID
            pom.artifactId = ARTIFACTID
            pom.version = LIBRARY_VERSION
        }
    }
    

    第四步

    最后在项目路径下执行:

    ./gradlew -p androidlib clean build uploadArchives --info
    

    LOCAL_REPO_URL=file:///home/lv/.m2/repository/
    路径下就可以看到已经发布好的本次仓库
    其中可能会报错
    我遇到两个
    其一 是在AndroidLib 的build.gradle
    中的android 节点下添加

        lintOptions {
            abortOnError false
        }
    

    其二 是在项目根目录下的build.gradle中buildscript和allprojects节点下分别添加

     repositories {
            maven { url "https://jitpack.io" }
            jcenter()
            google()
        }
    

    第五步

    在其他项目中引用,先在最外层的gradle.build中添加本地maven库路径

    
    buildscript {
        repositories {
             //多个maven库 优先级按顺序查找 我这里优先本地maven库
            maven {
                url 'file:///home/lv/.m2/repository/'
            }
            maven { url "https://jitpack.io" }
            jcenter()
            google()
    
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.0-beta7'
        }
    }
    
    allprojects {
        repositories {
             //多个maven库 优先级按顺序查找 我这里优先本地maven库
            maven {
                url 'file:///home/lv/.m2/repository/'
            }
            maven { url "https://jitpack.io" }
            jcenter()
            google()
        }
    }
    
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    
    

    就是:

    
      maven {
                url 'file:///home/lv/.m2/repository/'
            }
    

    然后在需要引用这个库的项目的gradle.build中添加:

    compile 'com.kcode.github.pubutils:androidLib:0.0.1'
    就可以了。

    相关文章

      网友评论

          本文标题:Android Studio 将Library 发布到本地mav

          本文链接:https://www.haomeiwen.com/subject/blsnvxtx.html