使用VSCode 打包你的第一个flutter应用(安卓篇)

由于官网被墙,打包资料只能根据以往大神提供的经验摸索打包,但是在实际打包中还是会遇到各种各样的错。

下面介绍一下我成功打包的经验,像是配置查看构建配置和添加启动图标之类的就不说了,只讲打包。

1.创建Key

确认已安装java和flutter。我的java安装在D:\Program Files\java\jre\bin,首先进入到这个文件夹内,否则你创建key时,会提示'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。如果已有key,跳过此步骤,没有的,执行下面命令

keytool -genkey -v -keystore D:/key/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
  • -genkey 生成秘钥

  • -alias 别名

  • -keyalg 秘钥算法

  • -keysize 秘钥长度

  • -validity 有效期

  • -keystore 生成秘钥库的存储路径和名称

2.填写密钥内容

191e3bb4125652fd1f6647d58286e261.png

出现下图即为创建成功

451e8b2dffa3717703886aeb6886ce1a.png

查看证书

keytool -list -v -keystore D:\key\key.jks -alias key -storepass 123456 -keypass 123456

a9c1e910997230728c60ce8d8e4cb4bf.png

3.创建key.properties

在android目录下创建一个key.properties文件 输入以下代码,保存一下。

storePassword= 刚刚创建密钥库时的密码
keyPassword=  刚刚创建密钥的密码
keyAlias=key
storeFile=D:/key/key.jks

4.build.gradle文件修改

b5d9de8b0e31eee08f11467fb8dbba95.png

上图三个地方需要修改

1.在android前加入

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

2.android里面加入

signingConfigs {
        release {
            keyAlias "key"
            keyPassword "刚刚创建密钥库时的密码"
            storeFile file("D:/key/key.jks")
            storePassword "刚刚创建密钥库时的密码"
        }
    }

3.android里面修改buildTypes

buildTypes {
        release {
            signingConfig signingConfigs.release


            minifyEnabled true
            useProguard true


            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

这里面有个坑,signingConfigs这里面配置我按照教程写法,死活打包不成功。一直报这个错

d6dc68ee18032e5e1fd8d3a800a127fa.png

5.打包

flutter build apk

8090cb78644d6d66d7d9b71aa5d31ed5.png

我们的apk文件保存在Flutter文件夹的build\app\outputs\apk\release\app-release.apk 目录下。

posted @ 2022-05-31 18:10  青年码农  阅读(775)  评论(0编辑  收藏  举报