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

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

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.填写密钥内容

e459026c5f4fc59785cdb8fb57eeca00.png

出现下图即为创建成功

8fe73b3776c674c4a6096bce4c4e3238.png

查看证书

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

9055527905a367fb95e2d3b803358b39.png

3.创建key.properties

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

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

4.build.gradle文件修改

3ed560d29bebe2f093c9947a3facd965.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这里面配置我按照教程写法,死活打包不成功。一直报这个错

749ae335cbfff4cb9782095c0eadc006.png

5.打包

flutter build apk

9c894caeb429fc00920bda4ab2c7293b.png

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

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐