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 ...
随机推荐
- python3(三)enc
# ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节. # Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了. # 新的问题又 ...
- H5 环境检测
检测是否在客户端App内 function is_app() { var userAgent = navigator.userAgent.toLowerCase();//获取UA信息 if (user ...
- 数据结构和算法(Golang实现)(12)常见数据结构-链表
链表 讲数据结构就离不开讲链表.因为数据结构是用来组织数据的,如何将一个数据关联到另外一个数据呢?链表可以将数据和数据之间关联起来,从一个数据指向另外一个数据. 一.链表 定义: 链表由一个个数据节点 ...
- AJ学IOS(48)多线程网络之多线程简单了解
AJ分享,必须精品 一:进程和线程 1:什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 比如同时打开QQ.Xcode,系统就会分 ...
- 如何使用python在短时间内寻找完数
完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数 ...
- [护网杯2018] easy_laravel
前言 题目环境 buuoj 上的复现,和原版的题目不是完全一样.原题使用的是 nginx + mysql 而 buuoj 上的是 apache + sqlite composer 这是在 PHP5.3 ...
- tensorflow1.0 模型的保存与加载
import tensorflow as tf import numpy as np # ##Save to file # W = tf.Variable([[4,5,6],[7,8,9]],dtyp ...
- pytorch seq2seq闲聊机器人beam search返回结果
decoder.py """ 实现解码器 """ import heapq import torch.nn as nn import con ...
- pytorch Model Linear实现线性回归CUDA版本
实验代码 import torch import torch.nn as nn #y = wx + b class MyModel(nn.Module): def __init__(self): su ...
- 用long类型让我出了次生产事故,写代码还是要小心点
昨天发现线上试跑期的一个程序挂了,平时都跑的好好的,查了下日志是因为昨天运营跑了一家美妆top级淘品牌店,会员量近千万,一下子就把128G的内存给爆了,当时并行跑了二个任务,没辙先速写一段代码限流,后 ...