Flutter 打包Android APK 笔记与事项
获取一个KEY
首先要获取 你的 打包应用的一个 key ,这一步其实和 在AndroidStudio 上打包 APK 一样,都是要注册一个本地的 key,key 其实也就是 jks文件啦。
如果已经本机已经有了 KEY,可以直接走第二步咯。在AndroidStudio里面注册一个 jks文件,很轻松,只要去工具栏的build->Generate APK 一路next和填写配置信息,就欧克了。
但是如果在用 AndroidStudio 编写 Flutter 项目,忘记了之前的jks文件放在哪里,密码又是啥,想要获取一个全新的 key时,就需要多一点步骤了。
先在命令行或者AndroidStudio下方的Terminal 框里输入下面的命令?
keytool -genkey -v -keystore C:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意: C:/key.jks 是我们的指定的 KEY文件保存的路径,路径可以自己选个能记住的,key也可以根据需要换成你记得住的名字
接下来的操作,就是傻瓜式的啦:
以下是流程,注意一点:AndroidStudio下方的Terminal 输入密码的时候光标是不动的,所以输入时要留意,最好输入完得记下来
在光标处输入后会有很多信息填~:
keytool -genkey -v -keystore C:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
输入密钥库口令:
再次输入新口令:
它们不匹配。请重试
输入密钥库口令:
密钥库口令太短 - 至少必须为 6 个字符
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: DMingO
您的组织单位名称是什么?
[Unknown]: QG
您的组织名称是什么?
[Unknown]: QG
您所在的城市或区域名称是什么?
[Unknown]: Guangzhou
您所在的省/市/自治区名称是什么?
[Unknown]: GuangDong
该单位的双字母国家/地区代码是什么?
[Unknown]: +86
CN=DMingO, OU=QG, O=QG, L=Guangzhou, ST=GuangDong, C="+86"是否正确?
[否]: 是
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
CN=DMingO, OU=QG, O=QG, L=Guangzhou, ST=GuangDong, C="+86"
输入 <key> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
[正在存储C:/key.jks]
好了,申请KEY这一步就成功啦,把这些你刚才填写的配置信息记录下来,接下来的第二步和未来还会用到的~
填写打包配置信息
第二步需要去 项目工程名\android\app\build.gradle 里面 配置上 自己的 KEY
1.指定版本名和版本号
2.填写 signingConfigs 包,内容就是 注册时填写的内容。
keyAlias :创建的密钥别名,如果不知道可以去key.jks文件所在目录输入
keytool -list -v -keystore key.jks -storepass 对应的密码就是了
keyPassword "密钥的密码"
storeFile file: (“密钥所在文件夹,如果是按照我上面的步骤的话是D:/key.jks”)
storePassword "密钥库的密码"
3.填写buildTypes包

最后一步,打包APK
在命令行或者AndroidStudio下方的Terminal 框,输入 flutter build apk
耐心等待,出现红色的内容也不要慌,过程可能会有点久,如果最后出现

绿色的这一行,说明Android 的APK已经 成功出来了,现在就躺在了你的项目的 outputs\apk\里面了,可以尝试去安装了~
谢谢阅读文章的同学,欢迎交流
Flutter 打包Android APK 笔记与事项的更多相关文章
- cocos2d jsb 打包 Android APK
1.首先要会普通的cpp 打包成Android APK 下面所说的是在cocos2d-x 2.2.2 或者 2.3 版本号中.本文在Eclipse总用ndk编译cocos2d-x. 老生常谈cocos ...
- 【ReactNative】Mac下分分钟打包 Android apk
时间:2016-11-20 09:17:07 地址:https://github.com/zhongxia245/blog/issues/52 Mac 下 ReactNative如何打包构建Andro ...
- CocosIDE导出Android APK的注意事项
近期在用CocosIDE来开发新的游戏,整体感觉非常不错.支持断点调试.真机调试,调试时候的变量信息也比非常多vs的lua插件丰富.用起来也比一些专门的lua调试工具要方便.并且有一定的语法差错功能. ...
- weex打包android apk采坑之旅(windows)
1. npm install weex-toolkit -g 后weex命令不起作用 ,解决办法把weex.cmd所在的目录添加到环境变量PATH 2.weex命令每次报找不到文件'C:\Progra ...
- HBuilder打包Android apk 支付不了问题解决
第一步: 安卓生成自有证书:到JRE的bin目录下,运行keytool命令:cd C:\Program Files\Java\jre1.8.0_91\binkeytool -genkey -alias ...
- 【转】Android开发笔记(序)写在前面的目录
原文:http://blog.csdn.net/aqi00/article/details/50012511 知识点分类 一方面写写自己走过的弯路掉进去的坑,避免以后再犯:另一方面希望通过分享自己的经 ...
- Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!
从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! (涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的) ...
- Android开发笔记:打包数据库
对于数据比较多的控制一般会加入SQLite数据库进行数据存储,在打包时这些数据库是不自动打包到apk中的,如何创建数据库呢 方法1:将创建数据库的sql语句在SQLiteHelper继承类中实现,在第 ...
- 从零学习Fluter(七):Flutter打包apk详解
写一个win上 flutter 打包apk的教程 这篇文档介绍一下flutter打包发布正式版apk 整体来看,和命令行打包rn的方法相差不大 打包前先做检查工作&查看构建配置 Android ...
随机推荐
- 34.1 字符流-- FileRead FileWrite
一次读取一个字符 FileReader fr = new FileReader("aa.txt"); // System.out.println(fr.read()); // Sy ...
- Netty:ChannelFuture
上一篇我们完成了对Channel的学习,这一篇让我们来学习一下ChannelFuture. ChannelFuture的简介 ChannelFuture是Channel异步IO操作的结果. Netty ...
- @suppressWarnings("unchecked") java 中是什么意思 (一般放dao查询方法上)
J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 一点背景:J2SE 5.0 为 Java 语言增加 ...
- Android Them+SharedPreferences 修改程序所有view字体颜色、大小和页面背景
有这么一个需求,可以对页面的样式进行选择,然后根据选择改变程序所有字体颜色和页面背景.同时下一次启动程序,当前设置依然有效. 根据需求,我们需要一种快速,方便,有效的方式来实现需求,然后可以通过And ...
- C - N皇后问题 DFS
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合法的放置方法. Inpu ...
- echarts使用笔记
1.解决列文字隔开问题,及文字太长问题解决. yAxis: [ { type : 'category', data : message.data[0].dataone, axisLabel: { in ...
- C#开发BIMFACE系列31 服务端API之模型对比2:获取模型对比状态
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇<C#开发BIMFACE系列30 服务端API之模型对比1:发起模型对比>中发起了2个模型对比,由于模型对比是在BIMFAC ...
- 1. webpack 复制文件
1. npm install --save-dev copy-webpack-plugin2. var CopyWebpackPlugin = require('copy-webpack-plugin ...
- 一站式轻量级框架 Spring
Spring 简介 Spring 是一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring 的核心是控制反转(IoC)和面向切面编程(AOP).简单来说,Spring ...
- 【高频 Redis 面试题】Redis 事务是否具备原子性?
一.Redis 事务的实现原理 一个事务从开始到结束通常会经历以下三个阶段: 1.事务开始 客户端发送 MULTI 命令,服务器执行 MULTI 命令逻辑. 服务器会在客户端状态(redisClien ...