Flutter 项目打包发布

  1. app 签名

    keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
    
    1. -keystore 表示生成的签名文件的名称, 后期发布项目的是会用到该文件
    2. -alias 后续项目发布的时候也会用到, 可以根据自己的需要进行自定制
    3. 当运行命令的时候, 需要输入一系列的参数和先关口令的密码, 请一定保存好密码, 后期会用到 (秘钥口令)
    4. 生成签名以后, 签名默认保存到了 ./my-release-key.keystore
    5. 将证书 copy 到 android/app 目录下面

    注意: 保持 keystore 文件的私密性, 不要将其加入到公共代码控制中, 注意在 .gitignore 中添加忽略文件

  2. 引用应用程序中的 keystore
    创建一个名为 android/key.properties 的文件, 其中包含对秘钥文件的引用

    storePassword=<上一步设置的密码>
    keyPassword=<上一步设置的密码>
    keyAlias=my-key-alias
    storeFile=my-release-key.store ## <keystore文件的位置>  比如 /Users/<用户名>/my-release-key.store
    
  3. 在 gradle 中配置签名

    • 在 android/app/build.gradle 中为应用配置签名
    ## 1. 代码配置在android节点的上面
    def keystorePropertiesFile=rootProject.file('key.properties')
    def keystoreProperties = new Properties()
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    ## 2. buildTypes节点上面配置
    signingConfigs {
      release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
      }
    }
    buildTypes {
      release {
        singleConfig signingConfigs.release
      }
    }
    
  4. 构建一个发布版本的 APK

    • cd 进入工程目录下
    • flutter build apk
    • 打包好的 apk 位于 build/app/outputs/apk/app-release.apk
  5. 在设备上安装发行版本的 apk

    • USB 插入电脑
    • flutter install
  6. 修改 app 名称和图标

    • 修改名称
      • 位于 android/app/src/main 的 AndroidMainfest.xml 中
      • application 节点中的数据就是应用的名称
    • 修改用用图标
      • 快速生成应用图标
      • android/app/src/main/res 目录中, 将图标文件存入使用配置限定符命名的文件夹中,将自己的图表, 按照规范的名称和大小, 覆盖 Flutter 的默认图标

推荐阅读更多精彩内容