[英]Android Studio how to package single AAR from multiple library projects?
[英]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 的右侧找到了这个菜单,并启用了默认选项。
右键单击您想要的任务,然后单击“运行”。
这个问题已经可以用诸如执行之类的答案来处理
./gradlew assembleRelease
或者从 Android Studio 的 Gradle 菜单中选择 assembleRelease 。 但是,为了完整起见,可以通过在 Android Studio 中选择 Build->"Build APK" 来使用 Android Studio 1.5.1(可能还有旧版本)构建 .aar 的发布版本。 它似乎执行了assembleRelease。 如果您的项目仅包含库项目,则不会要求任何签名信息。
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].
另请参阅此 链接
对我来说,只需修复库中未产生编译错误(缺少 androidx 插件)的布局错误即可修复它,并且<lib>-release.aar
出现在build/outputs/aar/
文件夹中的<lib>-debug.aar
旁边.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.