4.4 部署与发布 (Deployment and Publishing)

storeFile=/Users/your_user_name/upload-keystore.jks
storePassword=your_keystore_password
keyAlias=upload
keyPassword=your_key_password

plaintext
复制代码

请将 `/Users/your_user_name/upload-keystore.jks` 替换为你的密钥库的实际路径,并将 `your_keystore_password` 和 `your_key_password` 替换为你设置的密码。

**步骤 3: 构建 `.aab` 文件**

在 Flutter 项目的根目录下,打开终端并运行以下命令:

```bash
flutter build appbundle --release

这个命令会执行以下操作:

  1. 代码优化和混淆:对 Dart 代码进行优化和混淆,减小应用体积并提高安全性。
  2. 资源打包:将所有图片、字体等资源打包到应用中。
  3. 签名:使用你在 build.gradle 中配置的签名信息对应用进行签名。
  4. 生成 .aab 文件:最终生成 app-release.aab 文件。

构建成功后,你会在控制台看到类似以下输出:

plaintext
复制代码
Building without sound null safety
For more information see https://dart.dev/null-safety/understanding-null-safety.
Running Gradle task 'bundleRelease'...                                
Running Gradle task 'bundleRelease'... Done                       10.0s
✓ Built build/app/outputs/bundle/release/app-release.aab (12.3MB).

生成的 app-release.aab 文件位于 build/app/outputs/bundle/release/ 目录下。这个文件就是你可以上传到 Google Play Console 进行发布的文件。

案例分析:

  • 密钥库的重要性:密钥库是应用身份的证明。一旦应用发布,就不能更改签名密钥。如果丢失了密钥库,你将无法更新你的应用。
  • .aab vs .apk.aab 是 Google Play Store 推荐的发布格式。它允许 Google Play 根据用户的设备配置(如 CPU 架构、屏幕密度、语言)动态生成和分发优化的 .apk 文件,从而减小用户下载的应用体积。
  • --release 标志:在构建命令中使用 --release 标志非常重要,它会触发 Flutter 构建一个优化过的、用于生产环境的版本,包括代码混淆、资源压缩等。

这个案例展示了如何为 Android 平台构建一个发布版本的 Flutter 应用。虽然发布到应用商店还需要在 Google Play Console 中进行一系列配置,但生成正确的 .aab 文件是第一步也是最关键的一步。