本人打包时,flutter版本是3.13.5,这个影响不大,flutter的打包跟安卓原生打包其实是一样的,只是flutter很多东西是比较常用命令去执行的,这次打包本人就是用命令去执行的,这样不管是用AndroidStudio还是VScode去开发,都是可以用的。

一、生成签名文件.jks

终端中执行命令

keytool -genkey -v -keystore test.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

test.jks命令中的这个是签名文件的名称,这个名称根据项目执行修改就行,自己起个名字就行

如果已经有了签名文件,就不需要这个步骤。

执行完命令会出现如下一步步的引导内容,根据自己的情况输入即可,

执行完会生成后缀为.jks的签名文件,并且会报这个Warning:

JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore test.jks -destkeystore test.jks -deststoretype pkcs12” 迁移到行业标准格式

这个提示是因为jks的行业标准格式已经变为pkcs12了,只要把提示的里的”keytool -importkeystore -srckeystore test.jks -destkeystore test.jks -deststoretype pkcs12″命令复制到终端里执行就可以了。

二、在项目中使用签名文件

在flutter项目的android文件夹下创建key.properties文件。文件里写入如下信息:

storePassword=123456(第一步中输入的密钥库口令,也就是签名文件的密码)keyPassword=123456(第一步中输入的密钥库口令,也就是签名文件的密码)keyAlias=keyAlias(为第一步中输入的签名文件的别名)

storeFile=/Users/test.jks(签名文件的绝对路径)

三、在gradle中配置签名(项目/android/app/中的build.gradle)

文件中在android{}上方添加如下内容:

def keystorePropertiesFile = rootProject.file(“key.properties”)

def keystoreProperties =new Properties()

if (keystorePropertiesFile.exists()) {

keystorePropertiesFile.withReader(‘UTF-8’){ reader->

keystoreProperties.load(reader)

}

}

这块内容是载入key.properties文件,这块内容可以模仿项目中原有的写法,本人当前创建的最新项目里,原有的载入local.properties文件是这种写法,网上有其他版本的写法,能用就行都是可以的,但是本人喜欢用最新的原项目自己生成的这种写法。

android{}里添加如下内容

signingConfigs{

release{

keyAliaskeystoreProperties[‘keyAlias’]

keyPasswordkeystoreProperties[‘keyPassword’]

storeFile file(keystoreProperties[‘storeFile’])

storePasswordkeystoreProperties[‘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.debug,切换成我们配置的release版本

signingConfig signingConfigs.release

}

}

四、在终端中执行打包命令:

flutter build apk –release

–release可不写。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源