使用VSCode 打包你的第一个flutter应用(安卓篇)
时间:2022-07-26
本文章向大家介绍使用VSCode 打包你的第一个flutter应用(安卓篇),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
由于官网被墙,打包资料只能根据以往大神提供的经验摸索打包,但是在实际打包中还是会遇到各种各样的错。
下面介绍一下我成功打包的经验,像是配置查看构建配置和添加启动图标之类的就不说了,只讲打包。
1.创建Key
确认已安装java和flutter。我的java安装在D:Program Filesjavajrebin,首先进入到这个文件夹内,否则你创建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.填写密钥内容
出现下图即为创建成功
查看证书
keytool -list -v -keystore D:keykey.jks -alias key -storepass 123456 -keypass 123456
3.创建key.properties
在android目录下创建一个key.properties文件 输入以下代码,保存一下。
storePassword= 刚刚创建密钥库时的密码
keyPassword= 刚刚创建密钥的密码keyAlias=keystoreFile=D:/key/key.jks
4.build.gradle文件修改
上图三个地方需要修改
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这里面配置我按照教程写法,死活打包不成功。一直报这个错
5.打包
flutter build apk
我们的apk文件保存在Flutter文件夹的buildappoutputsapkreleaseapp-release.apk 目录下。
获取更多优质内容,请关注【青年码农】
- C++中消息自动派发之四 使用IDL构建Chat Server
- Linux Shell(二)——Shell的环境配置
- 支持插件的消息中间件【msg broker with plugin】
- Linux Shell(一)——Shell变量
- 智能指针shared_ptr【无锁设计基于GCC】
- 浅谈代码覆盖
- Base PyQt4, Simple Web APP Framwork
- Linux用户身份切换
- TCPDUMP 抓包
- Embeding Python & Extending Python with FFPython
- kNN最邻近规则分类
- 通用排行榜组件
- Future Pattern
- Linux账号管理
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- c#之task与thread区别及其使用
- C# 外接(网口)双摄像头视频获取
- C# 获取.exe文件的运行目录
- MySQL存储过程示例
- C# winform之Log4Net的使用
- C# 调用百度AI接口实现文字识别
- MySQL 案例:自增列的空洞问题与“小”BUG
- 教你用云开发打造一个双端自动发布的博客体系(上)
- [Oracle概念]密码文件
- [Oracle 11g RAC安装]OPENFILER配置
- [Oracle 11g RAC安装]RAC环境搭建
- [Oracle 11g RAC安装]Grid安装
- [Oracle 11g RAC安装]Oracle安装
- [Oracle 11g RAC安装]UDEV设置
- Oracle参数(Undo_Retention)