Android打包脚本 命令行

在Android开发过程中,我们经常需要将应用打包成APK或AAB文件,以便在设备上安装或发布到应用商店。虽然大多数Android开发工具都提供了图形化界面来完成这些任务,但有时我们可能需要通过命令行来实现自动化打包。本文将介绍如何使用命令行工具来完成Android打包,并提供一些实用的代码示例。

1. 安装Android SDK

首先,确保你已经安装了Android SDK。你可以从[Android开发者官网](

2. 创建签名密钥

在打包之前,你需要为你的应用创建一个签名密钥。这可以通过keytool命令行工具来完成。以下是创建签名密钥的示例命令:

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

这个命令将生成一个名为my-release-key.jks的密钥库文件,有效期为10000天。你需要记住密钥库的密码和别名。

3. 配置gradle.properties

在你的项目根目录下的gradle.properties文件中,添加以下配置:

storePassword=你的密钥库密码
keyPassword=你的密钥密码
keyAlias=你的密钥别名

4. 打包APK

使用Gradle命令行工具打包APK。在项目根目录下运行以下命令:

./gradlew assembleRelease

这将生成一个名为app-release.apk的文件,位于app/build/outputs/apk/release/目录下。

5. 打包AAB

从Android App Bundle (AAB)开始,你可以使用以下命令打包:

./gradlew bundleRelease

这将生成一个名为app-release.aab的文件,位于app/build/outputs/bundle/release/目录下。

6. 自动化打包流程

为了实现自动化打包,你可以编写一个简单的shell脚本。以下是一个示例脚本:

#!/bin/bash

# 定义项目路径
PROJECT_PATH="/path/to/your/project"

# 进入项目目录
cd $PROJECT_PATH

# 清理旧的构建文件
./gradlew clean

# 打包APK
./gradlew assembleRelease

# 打包AAB
./gradlew bundleRelease

# 打印完成信息
echo "打包完成!"

将这个脚本保存为build.sh,并在终端中运行:

chmod +x build.sh
./build.sh

状态图

以下是Android打包流程的状态图:

stateDiagram-v2
    A[开始] --> B[安装Android SDK]
    B --> C{是否已安装}
    C -- 是 --> D[创建签名密钥]
    C -- 否 --> B
    D --> E[配置gradle.properties]
    E --> F[打包APK]
    F --> G[打包AAB]
    G --> H[完成]

结语

通过本文,我们了解了如何使用命令行工具来完成Android应用的打包。虽然这个过程可能看起来有些复杂,但一旦你熟悉了这些步骤,它将大大提高你的开发效率。此外,通过编写自动化脚本,你可以轻松地将打包过程集成到你的持续集成/持续部署(CI/CD)流程中。希望本文对你有所帮助!