> 技术文档 > AndroidStudio生成AAR_android studio 生成aar

AndroidStudio生成AAR_android studio 生成aar


Android Studio 2024.3 版本。如何生成 AAR 文件呢?

操作步骤

1、菜单栏,找到 Build2、清除项目 Clean Project3、构建项目 Assemble Project

生成 AAR 路径

在 我们构建 lib 库下面。 build/outputs/aar/ xxxx

下面截图为证:

我的 Android Studio 版本

AndroidStudio生成AAR_android studio 生成aar

我的操作步骤
AndroidStudio生成AAR_android studio 生成aar

如果需要的是 release 正式版本,那么需要 修改编译的环境到 release 下面截图为证

AndroidStudio生成AAR_android studio 生成aar

备注两个采用 groovy 语法生成 AAR 的方式

Java 版本

编写在 Module 的 build.gradle 当中的 根节点下面

 // 自定义的编译 AAR 的任务, 直接可以生成 AAR 在 项目的 build/distAAR 路径下面 tasks.register(\'cosmoAssemble\', Copy) { group = \'build\' description = \'自定义 assemble 操作,复制产物到指定目录\' dependsOn \'assemble\' from \'build/outputs/aar/\' into \'build/distAAR/\' include \'*.aar\' doLast { println \"自定义 assemble 完成!产物已复制到 ${project.buildDir}\\\\distAAR\\\\\" } }

Kotlin 版本

编写在 Module 的 build.gradle.kts 当中的 根节点下面

 // 自定义的编译 AAR 的任务, 直接可以生成 AAR 在 项目的 build/distAAR 路径下面 tasks.register<Copy>(\"cosmoAssemble\") { group = \"build\" description = \"自定义 assemble 操作,复制产物到指定目录\" dependsOn(\"assemble\") from(\"build/outputs/aar/\") into(\"build/distAAR/\") include(\"*.aar\") doLast { println(\"自定义 assemble 完成!产物已复制到 ${project.buildDir}\\\\distAAR\\\\\") } }

采用脚本生成 AAR 到指定目录(一键生成)

1、采用 bat 脚本生成 AAR

 @echo off setlocal enabledelayedexpansion:: 只需要修改当前项目所在的目录即可set \"ROOT_PATH=D:\\workspace\\demo\\demo-project\":: -------------------------------------------------------------set \"workDir=%ROOT_PATH%\" set \"usePath=%ROOT_PATH%\\app\\libs\"set \"buildPath=%ROOT_PATH%\\library-demo\\build\"set \"sourceDir=%ROOT_PATH%\\library-demo\\build\\distAAR\":: =============================================================:: 1. 删除 build 文件夹if exist \"%buildPath%\" ( echo deleting build directory... rmdir /s /q \"%buildPath%\" echo build directory delete done ) else ( echo build directory is not exist , continue with the following operations) :: 2. 进入指定目录并执行 gradlew 命令 echo switching to working directory: %workDir% cd /d \"%workDir%\" if exist \".\\gradlew\" ( echo execute gradlew cosmoAssemble... call .\\gradlew cosmoAssemble echo gradlew cosmoAssemble done ) else ( echo error: gradlew file is not exist exit /b 1 ) :: 3. 复制 distAAR 文件夹内容到当前目录set \"destDir=%~dp0\" if exist \"%sourceDir%\" ( echo copy distAAR aar file... xcopy /e /y \"%sourceDir%\\*\" \"%destDir%\" echo copy success) else ( echo error: distAAR is not exist exit /b 1 ):: 4. 复制 distAAR 文件夹内容到需要使用的目录下面 if exist \"%sourceDir%\" ( echo copy distAAR aar file... xcopy /e /y \"%sourceDir%\\*\" \"%usePath%\" echo copy success) else ( echo error: distAAR is not exist exit /b 1 ) echo ------------------------------------echo ---- aar file build success --------echo ------------------------------------pause

2、采用 shell 脚本生成 AAR

#!/bin/bash# 只需要修改当前项目所在的目录即可ROOT_PATH=\"/d/workspace/demo/demo-project\"# -------------------------------------------------------------workDir=\"$ROOT_PATH\" usePath=\"$ROOT_PATH/app/libs\"buildPath=\"$ROOT_PATH/library-demo/build\"sourceDir=\"$ROOT_PATH/library-demo/build/distAAR\"# =============================================================# 1. 删除 build 文件夹if [ -d \"$buildPath\" ]; then echo \"deleting build directory...\" rm -rf \"$buildPath\" echo \"build directory delete done\" else echo \"build directory is not exist, continue with the following operations\"fi # 2. 进入指定目录并执行 gradlew 命令 echo \"switching to working directory: $workDir\" cd \"$workDir\" || exit 1if [ -f \"./gradlew\" ]; then echo \"execute gradlew cosmoAssemble...\" ./gradlew cosmoAssemble echo \"gradlew cosmoAssemble done\" else echo \"error: gradlew file is not exist\" exit 1 fi # 3. 复制 distAAR 文件夹内容到当前目录destDir=\"$(dirname \"$(readlink -f \"$0\")\")\" if [ -d \"$sourceDir\" ]; then echo \"copy distAAR aar file...\" cp -r \"$sourceDir\"/* \"$destDir\"/ echo \"copy success\"else echo \"error: distAAR is not exist\" exit 1 fi# 4. 复制 distAAR 文件夹内容到需要使用的目录下面 if [ -d \"$sourceDir\" ]; then echo \"copy distAAR aar file...\" cp -r \"$sourceDir\"/* \"$usePath\"/ echo \"copy success\"else echo \"error: distAAR is not exist\" exit 1 fi echo \"------------------------------------\"echo \"---- aar file build success --------\"echo \"------------------------------------\"read -p \"Press any key to continue...\" -n1 -secho