把Android库项目发布到maven仓库且带上源代码

152 阅读1分钟

plugins {

id 'com.android.library'

id 'kotlin-android'

id 'maven-publish'

}




然后在文件的最后,添加如下内容:



// 用于打包源代码的任务

task androidSourcesJar(type: Jar) {

archiveClassifier.set('sources')

from android.sourceSets.main.java.srcDirs

}

// 用于把aar打包到maven仓库的任务

afterEvaluate {

publishing {

    publications {

        release(MavenPublication) {

            from components.release

            artifact androidSourcesJar

            groupId = 'cn.android666.contextholder' // 库的组织,使用域名表示

            artifactId = 'contextholder' // 库名称

            version = '1.1.1' // 库版本

        }

    }



    repositories {

        maven {

            allowInsecureProtocol = true // 仓库默认不允许使用非https协议,所以这里设置为允许

            url 'http://192.168.1.251:8081/content/repositories/android_repositories/' // 公司maven仓库地址

            credentials {

                username 'even'     // maven仓库账号

                password '123456'   // maven仓库密码

            }

        }

    }

}

}




![在这里插入图片描述](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/0d3981def7d34aad83b76d519d09ae8d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1772342201&x-signature=aO2URwI7j1yyCVmmOqCACkNnKAU%3D)  

按如上图的方式操作即可,第3步为选择你这个publish任务所在的模块。第4步输入publish然后按回车,这样发布的aar是带源码的,即打开类时可以看到源代码。



**使用生成的aar**  

在settings.gradle中要先把公司的maven仓库地址设置好,如下:



dependencyResolutionManagement {

repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

repositories {

    google()

    mavenCentral()



    // 公司仓库

    maven {

        allowInsecureProtocol = true // 仓库默认不允许使用非https协议,所以这里设置为允许

        url 'http://192.168.1.251:8081/content/repositories/android_repositories/'

    }

}

}

rootProject.name = "ContextHolderLib"

include ':app'

include ':ContextHolder'



## 最后

**本文在[开源项目GitHub中](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...**

**目前已经更新的部分资料,需要的自己取:**

![](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/75c982be49fd410389684eba59182aaf~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1772342201&x-signature=cNRY%2BcLUxJ1ro0jtLQBQqKtJe4k%3D)
![](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/431bf2fdda7f4be19b96ff492b2af1de~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1772342201&x-signature=YU9Ah3rPeaqmlF0AJzZJd5560FM%3D)
![](https://p9-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/9b265c88d1de4582818c2b6836bacc89~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzIxMjA3NDIwNDUy:q75.awebp?rk3s=f64ab15b&x-expires=1772342201&x-signature=JO2LBNVUeC79WgrKn1US4vHIzEU%3D)