Flutter发布Android APP到Google Play

Flutter发布Android APP到Google Play

一、注册谷歌账号

https://play.google.com/console/signup

二、上传APP

根据谷歌新规,个人上架app需先经过内部、封闭、开放测试等一系列测试后才允许发布。

选择内部测试,上传APP。这里选择 “版本由 Google Play 签名”,然后上传.abb包(注意不是apk)
内部测试.png

三、abb 包打包

  1. 终端生成签名密钥
    1
    keytool -genkey -v -keystore ~/sign.jks -keyalg RSA -keysize 2048 -validity 10000 -alias sign

    genkey : 产生密钥
    keystore :<存放的路径>/sign.jks :证书的存放路径和名字
    keyalg: RSA -keysize 2048 :使用 2048 位 RSA 算法对签名加密
    validity: 10000 :有效期时间,这里是 10000天
    alias sign : 别名 sign

签名.png

  1. 配置打包文件
  • 创建 key.properties 文件,在android目录下build.gradle同级目录下

< flutter 项目路径>/android/key.properties

key.properties 文件 内填写以下内容

1
2
3
4
storePassword=android
keyPassword=(前面创建时候的密码)
keyAlias=sign(别名)
storeFile=(文件路径)/sign.jks
  1. 配置 build.gradle 文件
    android/app/build.gradle文件给应用配置签名 在android{}同级目录添加如下配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    def keystorePropertiesFile = rootProject.file("key.properties")
    def keystoreProperties = new Properties()
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

    //还有如下配置
    signingConfigs {
    release {
    keyAlias keystoreProperties['keyAlias']
    keyPassword keystoreProperties['keyPassword']
    storeFile file(keystoreProperties['storeFile'])
    storePassword keystoreProperties['storePassword']
    }
    }
    buildTypes {
    release {
    signingConfig signingConfigs.release
    }
    }

    配置.png

  2. 执行打包指令

    1
    2
    3
    flutter build appbundle --release
    //如果是打apk
    flutter build apk

    打包成功后的包所在路径

    1
    2
    apk:build/app/outputs/flutter-apk/app-release.apk
    abb:build/app/outputs/bundle/release/app-release.aab