flutter 安卓端打包

在 Flutter 中打包 Android 应用程序是一个相对简单的过程。你可以使用 Flutter 的命令行工具来构建并打包你的 APK 或 AAB(Android App Bundle)。以下是打包 Flutter Android 应用的步骤:

1. 安装 Flutter 环境

确保你已经安装了 Flutter SDK,并且正确配置了 Android 开发环境。如果还没安装,可以按照Flutter 官方安装文档进行操作。

你可以通过以下命令来确认 Flutter 是否安装成功:

shell 复制代码
flutter doctor

2. 配置 Android 项目的签名

在发布应用之前,你需要为 Android 项目配置一个签名。Flutter 通过 keytool 工具生成签名证书,并将其配置到 android/app 文件夹中的 key.properties 文件。

生成签名证书

在终端中运行以下命令生成一个新的签名证书(如果你没有现成的证书):

shell 复制代码
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

● 输入6位密钥口令。如: 123123

● 一路回车

● 最后问是否正确打入 y 即可生成

然后将生成的.jks文件放到你的 Flutter 项目的 android/app 目录下。

配置 key.properties

在你的 Flutter 项目的 android/ 根目录下创建一个名为 key.properties 的文件,内容如下:

复制代码
storePassword=<your-store-password> 
keyPassword=<your-key-password>
keyAlias=<your-key-alias>
storeFile=<path-to-your-keystore> 

<your-store-password><your-key-password> 替换为你生成证书时设置的密码,<your-key-alias> 替换为证书的别名,<path-to-your-keystore> 替换为你 .jks 文件的路径。

复制代码
storePassword=123123
keyPassword=123123
keyAlias=key
storeFile=key.jks

修改 android/app/build.gradle

接下来,你需要在 android/app/build.gradle 文件中修改签名部分,使其使用你刚刚配置的证书。

● 首先在 android {这一行的上面,加入如下代码:

复制代码
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

● 接着找到 signingConfigs 部分并进行修改:

复制代码
android {
    ...

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            // Proguard 混淆配置,如果需要的话
            // minifyEnabled true
            // shrinkResources true
        }
    }
}

3. 打包 APK 或 AAB

打包 APK

如果你只想生成 APK 文件,可以运行以下命令:

shell 复制代码
flutter build apk --release

默认情况下,APK 文件会生成在 build/app/outputs/flutter-apk/ 目录下。

如果你想为特定的架构生成 APK,可以使用以下命令:

shell 复制代码
flutter build apk --release --target-platform android-arm,android-arm64,android-x64

打包 AAB

如果你需要生成 Android App Bundle (AAB),可以使用以下命令:

shell 复制代码
flutter build appbundle --release

生成的 AAB 文件将位于 build/app/outputs/bundle/release/ 目录下。

相关推荐
北漂Zachary3 小时前
四大编程语言终极对比
android·java·php·laravel
吴声子夜歌5 小时前
Vue.js——自定义指令
前端·vue.js·flutter
学习使我健康7 小时前
Android App 启动原理
android·android studio
TechMix8 小时前
【性能工具】atrace、systrace、perfetto抓取的trace文件有何不同?
android·性能优化
张小潇8 小时前
AOSP15 WMS/AMS系统开发 - 窗口层级源码分析
android·前端
liulian091611 小时前
Flutter 三方库 flutter_local_auth 的鸿蒙化适配指南
flutter·华为·学习方法·harmonyos
努力努力再努力wz11 小时前
【MySQL入门系列】掌握表数据的 CRUD:DML 核心语法与执行逻辑解析
android·开发语言·数据结构·数据库·c++·b树·mysql
qwfy12 小时前
瑞幸 UI 上 pub.dev 了 —— 22 个 Flutter 组件,与微信小程序版双端对齐
flutter·开源
zh_xuan13 小时前
Android gradle任务
android·gradle构建
Grackers14 小时前
Android Perfetto 系列 10:Binder 调度与锁竞争
android·binder