AndroidStudio中将module打包成aar并上传到maven库

最初的样子

当我们在AndroidStudio中新建一个module后,它的目录结构应该如下图所示:

这里我们再看一下它自带的build.gradle文件

plugins {
    id 'com.android.library'
}

android {
    compileSdkVersion 33
    buildToolsVersion "33.0.2"

    defaultConfig {
        minSdkVersion 28
        targetSdkVersion 33
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.10.0'
}

看完gradle文件内容,我们打开右侧的gradle操作面板

我们发现对应的gradle里面没有任何Task,这里的原因是compileSdkVersion为33,而我本地的 Android SDK 版本为30二者不匹配。gradle找到33的环境,所以没有任何Task。

将module打包成aar

这里直接点击build,即可将对应的bundle打包成aar文件,如图所示。

将AAR推送到maven仓库

我们发现没有推送的Task

这里我们先引入maven-publish的插件,同时引入打包源码的Task,最后加入afterEvaluate用来上传到maven仓库,这里我们只上传到本地仓库。如果有远端仓库,可以配上远端仓库的信息。

plugins {
    id 'com.android.library'
    id 'maven-publish'
}
//打包源码的task
task sourceJar(type: Jar) {
    archiveClassifier.set('sources')
    from android.sourceSets.main.java.srcDirs
}
afterEvaluate {
    publishing {
        publications {
            // 这里的debug名字是自己起的
            debug(MavenPublication) {
                groupId="com.example.base"
                version="1.0.0-SNAPSHOT"
                artifactId="test_build_aar"
                // 这里除了有debug 还有release
                from components.debug
                // 运行任务,把源码打进去
                artifact sourceJar
            }
        }
        // 添加仓库地址
        repositories {
            // 本地仓库
            mavenLocal()
            // 当上传到远端仓库
//            maven {
//                url("")
//                credentials {
//                    username = ""
//                    password = ""
//                }
//          }
        }
    }
}


这里我们成功将AAR包,推送到本地maven仓库,可以在dependencies导入使用。如果有用请点赞,欢迎大家在评论区交流。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值