Flutter打包发布Android应用

76 阅读1分钟

一、打包

1. 创建一个用于上传的密钥库
  • 命令行输入以下指令创建(已创建可跳过)
  • 该命令将会把 upload-keystore.jks 文件储存在你的主文件夹中
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA \
        -keysize 2048 -validity 10000 -alias upload

123456.png

2. 从 app 中引用密钥库

创建一个名为 [project]/android/key.properties 的文件,它包含了密钥库位置的定义。粘贴以下内容:

storePassword=123456
keyPassword=123456
keyAlias=upload
storeFile=/Users/caiyajie/upload-keystore.jks

3. 配置/android/app/build.gradle文件

在 android 代码块之前将你 properties 文件的密钥库信息添加进去

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {...

在 buildTypes 代码块上方添加签名配置,并替换buildTypes

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

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }

现在,Flutter 会在所有 release 版本上签名;当你更改 gradle 文件后,也许需要运行一下 flutter clean。这将防止缓存的版本影响签名过程。

4. 打包apk
  • 命令行切换到工程目录,执行flutter build apk
cd /Users/caiyajie/AndroidStudioProjects/xsapp
flutter build apk

  • 或者在AndroidStudio中操作

    截屏2024-05-18 13.10.58.png

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀