繁体   English   中英

如何在 Android Studio(非调试)中创建发布 android 库包 (aar)

[英]How to create a release android library package (aar) in Android Studio (not debug)

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

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

我在 IDE 的右侧找到了这个菜单,并启用了默认选项。

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

右键单击您想要的任务,然后单击“运行”。

右键单击要单击的任务单击“运行”

这个问题已经可以用诸如执行之类的答案来处理

./gradlew assembleRelease

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

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

在此处输入图片说明

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

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'
    }
}

2.在命令行中运行命令“gradle clean build”。

创建.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
//output is located
<project_path>/build/outputs/aar/<module_name>-<build_variant>.aar

或者,您可以使用 AndroidStudio UI

View -> Tool Windows -> Gradle
<module_name> -> Tasks -> build or others -> assembleRelease

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

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

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

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

./gradlew assembleRelease

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

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

添加到您的模块gradle.build

android{
    project.archivesBaseName = "AnotherLibraryName"
}

将您的项目设置为 Android 库
build.gradle文件中: plugin: 'com.android.library'
您可以在: build/outputs/aar/[your module].看到输出build/outputs/aar/[your module].
另请参阅此 链接

从 Android Studio v4.x 开始:

  1. 选择构建变体选项卡
  2. 选择发布模式
  3. 然后菜单>构建>制作模块...

构建 AAR 库版本

对我来说,只需修复库中未产生编译错误(缺少 androidx 插件)的布局错误即可修复它,并且<lib>-release.aar出现在build/outputs/aar/文件夹中的<lib>-debug.aar旁边.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM