Android 上传aar到Maven仓库

一、第一种方式生成aar包:

1、moudle默认生成的aar包

其实SDK开发和app的开发都差不多,主要的区别在于SDK开发需要集成。集成也有两种方式一种是打包成jar包,另外一种是打包成aar文件,区别在于jar包的文件只有class类不包含资源文件,aar包含资源文件。

2、点击androidstudio右上角的gradle 步骤如下 点击 assemble然后在output中查看生成的aar文件就可以了

image.png

3、编译成功后 找到aar

image

二、第二种方式生成aar包:

1、类库中配置maven-publish,刷新后右侧模块的task任务下会有publishing

plugins {
    id 'maven-publish'
}

image

2、配置maven自动上传

android {
}

// 一定要配置在与android同级的目录下
afterEvaluate {
        publishing {
            repositories {
                maven {
                    allowInsecureProtocol = true
                    url = MAVEN_FARM_MODULE_URL as String
                    credentials {
                        username NEXUS_USERNAME as String
                        password NEXUS_PASSWORD as String
                    }
                }
            }

            publications {
                releaseAAR(MavenPublication) {
                    groupId = GROUP_ID
                    artifactId = "coon"
                    version = "2.0.9"
                    from components.release
                }
            }
        }
        task androidSourcesJar(type: Jar) {
            classifier = 'sources'
            from android.sourceSets.main.java.sourceFiles
        }

        artifacts {
            archives androidSourcesJar
        }
    }



3、点击任务列表上的publish后,会自动上传到maven仓库。

三、第三种方式生成aar包:

1、moudle中的build.gradle中添加一句话

apply from: "nexus-publish-common.gradle"

2、nexus-publish-common.gradle文件

apply plugin: 'maven'

afterEvaluate { project ->
    uploadArchives {
        configuration = configurations.archives
        repositories {
            mavenDeployer {
                repository(url: MAVEN_FARM_MODULE_URL) {
                    authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
                }
                pom.project {
                    groupId = GROUP_ID
                    artifactId = "coon"
                    version = "2.1.0"
                    packaging TYPE
                }
            }
        }
    }
    task androidSourcesJar(type: Jar) {
        classifier = 'sources'
        from android.sourceSets.main.java.sourceFiles
    }

    artifacts {
        archives androidSourcesJar
    }
}

3、项目中gradle.properties配置参数值

#Maven�����件��URL
MAVEN_FARM_MODULE_URL=http://aaa.bbb.com/reory/ura-android/
#��nexus ossde����
NEXUS_USERNAME=admin
#ç�»å½�nexus ossç��å¯�ç �
NEXUS_PASSWORD=123456
#对�maven�GroupId��
GROUP_ID =com.rgoo.aaa
#å�
�类�
TYPE = aar

4、看到右侧任务列表生成一个upload的任务

image

四、手动上传aar包到maven仓库

image

注意:这个勾不要勾上,否则aar包依赖的第三方找不到。

image

五、gradle中依赖maven仓库的aar包

类似:implementation "com.biometric.lib:core-lib:1.0.0"

GROUPID: com.biometric.lib
ARTIFACTID:core-lib
VERSION:1.0.0
注意依赖的模块文件中要加入仓库地址 不然无法下载(app 目录下的build.gradle文件)
    repositories {
        maven { url "https://s.com/repository/maven-android-releases/" }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容