如何在Android Studio中创建一个发布android库包(aar)(不是调试)

use*_*552 73 android android-library android-studio

我已经构建了我的android库包(aar),并在"..\app\build\outputs\aar"文件夹中创建了build的结果.这个文件夹中的文件名为"app-debug.aar",所以我猜它是在调试模式下构建的,所以我想知道如何生成构建的版本,即"app-release.aar".我怎样才能做到这一点?此外,是否可以使用另一个自定义名称生成构建,例如,"myCustomAppName-release.aar"而不是"app-release.aar".

jim*_*kiz 110

在Android Studio 1.2+中,有一个完整的gradle菜单列出了所有可用的gradle任务.

我在IDE的右侧找到了此菜单,并启用了默认选项.

默认情况下,gradle菜单位于IDE的右侧...

右键单击所需的任务,然后单击"运行".

右键单击要单击


Con*_*ong 13

从 Android Studio v4.x 开始:

\n
    \n
  1. 选择“构建变体”选项卡
  2. \n
  3. 选择发布模式
  4. \n
  5. 然后菜单Build \xe2\x86\x92 Make module...
  6. \n
  7. 从顶部菜单中单击“build”\xe2\x86\x92重建项目
  8. \n
\n

您的 .aar 文件将位于左侧的项目文件层次结构中MyLibrary/Build/outputs(您可能需要首先将视图从Android 视图更改为Project 视图,才能查看这些文件 - 使用左上角的下拉菜单)。

\n

构建AAR库发布

\n


lee*_*der 10

使用 Android Studio 3.0 更容易生成 aar 文件。从 Gradle 选项中,检查如图所示的选项 在此处输入图片说明

  • 当我在项目中导入我的版本 .aar lib 时,会出现类似“AAPT:错误:属性...未找到”的错误@leeCoder (2认同)

cod*_*zjx 8

1.将脚本添加到build.gradle中的android {}标记以生成发布版本:

signingConfigs {
    testConfig{
        storeFile file("X:/XXXX/yourkeystore")
        storePassword "yourKeyPassword"
        keyAlias "yourAlias"
        keyPassword "yourAliasPassword"
    }
}

buildTypes{
    release {
        signingConfig  signingConfigs.testConfig
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

2.run在命令行中执行"gradle clean build"命令.

  • 从终端窗口,在项目文件夹中,我执行了以下命令:"./ gradlew clean"和"./gradlew aR",现在"XX-release.aar"生成到"..\app\build \"输出\ aar"文件夹.如何从Android Studio中执行相同的操作?也就是说,告诉Android Studio也可以组装Release. (5认同)
  • 我想将来在我的 Android 应用程序中使用这个库。这是一个库,我想获取其发布输出,但我不明白为什么,但我在库的“\app\build\outputs\aar”文件夹中仅获取 XX-debug.aar 而不是 XX-release.aar。 (2认同)

dii*_*idu 8

这个问题已经可以用像execute这样的答案来处理

./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

或者从Android Studio的Gradle菜单中选择assembleRelease.但是,为了完整起见,Android Studio 1.5.1(可能还有旧版本)可以通过在Android Studio中选择Build - >"Build APK"来构建 .aar的发布版本.它似乎执行assembleRelease.如果您的项目仅包含库项目,则不会要求任何签名信息.


Ven*_*ddy 8

我在AS 2.3.3中遇到了这个问题,并通过更改模块的构建变体来解决它,以便再次发布和构建它:

在此输入图像描述


yoA*_*ex5 7

创建.aar

您可以使用命令行

./gradlew <moduleName>:assemble

./gradlew <moduleName>:assemble<build_variant>
//for example
./gradlew <moduleName>:assembleRelease

//or
./gradlew <moduleName>:bundle<build_variant>Aar
//for example
./gradlew <moduleName>:bundleReleaseAar
Run Code Online (Sandbox Code Playgroud)
//output is located
<project_path>/build/outputs/aar/<module_name>-<build_variant>.aar
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 AndroidStudio UI

View -> Tool Windows -> Gradle
<module_name> -> Tasks -> build or others -> assembleRelease
Run Code Online (Sandbox Code Playgroud)


luk*_*sos 5

另一个两部分的问题,没有人回答第二部分......

对于后代,这里有简单的答案:

第 1 部分如何仅创建发布*release.aar

在 android studio terminal(或项目文件夹中的任何终端)中运行。:

./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)

您不需要为此类任务签署配置。

第 2 部分如何将输出库重命名为AnotherLibraryName-release.aar?

添加到您的模块gradle.build

android{
    project.archivesBaseName = "AnotherLibraryName"
}
Run Code Online (Sandbox Code Playgroud)