许多人在使用Flutter打包apk时都会参照文档的做法,但是按照文档基本上是百分之百失败的[手动狗头],官网的做法是这样的(可以不用看)
官网做法
但是方法基本不可行。

下面介绍一下正确的打包姿势

  1. 如果没有创建key的同学,先在命令行里输入下面的代码

    keytool -genkey -v -keystore D:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    

接下来会让你创建密钥库和密钥的密码,记住自己创建的密码,下面会用到,
然后cmd就会让你输入一些信息,像一些奇奇怪怪的消息比如个人信息直接回车就可以了,然后中间会问你是否确认,输入y就可以了
不出意外在D盘的根目录下就会创建一个key.jks文件了,注意这个文件一定不要共享给别人。

  1. 在android目录下创建一个key.properties文件 输入以下代码,保存一下。
storePassword= 刚刚创建密钥库时的密码
keyPassword=  刚刚创建密钥的密码
keyAlias=key
storeFile=D:/key.jks
  1. 接下来就是和文档不一样的地方了,也是个巨坑。打开flutter的/android/app/build.gradle文件,在android前加入
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

如图

把buildTypes换成

signingConfigs {release {keyAlias "创建的密钥别名,如果不知道可以去key.jsk文件所在目录输入keytool -list -v -keystore key.jks -storepass 对应的密码"keyPassword "密钥的密码"storeFile file(“密钥所在文件夹,如果是按照我上面的步骤的话是D:/key.jks”)storePassword "密钥库的密码"}
}
buildTypes {release {signingConfig signingConfigs.release}
}

如图

  1. 最后在命令行输入输入
flutter build apk

大概率就大功告成了!
我们的apk文件保存在Flutter文件夹的build\app\outputs\apk\release\app-release.apk 目录下。

这样我们就完美避开了G家在文档里挖的坑啦!

转载于:https://www.cnblogs.com/yfc0818/p/11072653.html

Flutter打包apk中的一些巨坑相关推荐

  1. AndroidStudio中Flutter打包APK

    1.生成签名文件 在打包之前我们需要一个签名文件,证明文件的唯一性. keytool -genkey -v -keystore F:\APP\sign.jks -keyalg RSA -keysize ...

  2. flutter 打包apk

    前言 完成项目时,我们需要将项目打包成一个apk,方便测试以及发布版本. 并且发布版本还需要签名,今天把这一系列操作记录下来. App签名 创建 keystore 如果您有现有keystore,请跳至 ...

  3. Flutter 打包APK aab

    打包APK 命令 flutter build apk 打包aab 命令 flutter build appbundle 打包需要生成签名文件 test.jks (1) 我的项目所在地 D:\Flutt ...

  4. 用pyinstaller打包文件中遇到的那些坑

    一.pip:无法将"pip"项识别为cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次. 遇到问题,我是先去百度,然后按照 ...

  5. altium中错误报告类型_Python 官方团队在打包项目中踩过的坑

    花下猫语:这是 packaging 系列的第三篇译文,该系列是全网关于此话题的最详尽(水平也很高)的一个系列.原作者是 Python 官方打包团队成员,是 virtualenv 和 tox 项目的维护 ...

  6. Unity 多渠道打包 APK

    Unity 多渠道打包 APK 一个工程打包给 N 个渠道,每个渠道有自己的 应用名.应用Icon.包名.keystore.各种需要接入的SDK,甚至每个渠道有单独的资源等等 为了方便.省事.省时,决 ...

  7. Flutter 打包APP (Android IOS)

    打包Android apk 参考 https://flutter.dev/docs/deployment/android https://flutterchina.club/android-relea ...

  8. flutter/Android接入友盟、阿里百川SDK,打包APK后报无法加载arr库的坑

    刚接触flutter,边学边做.其实遇到的是两个坑,但看起来像是同个问题引起的,多么痛的领悟,基础不牢.解决问题流程不对太耽误时间了. 打包APK后报无法加载友盟arr库 有篇帖子说是启用压缩导致的, ...

  9. Flutter之apk打包(windwos)

    1.程序在安卓手机上运行以后,长按图标,会出来分享,点击分享,发送给好友得的的就是apk包,他人可以安装 电脑打包 官方只有这行命令: keytool -genkey -v -keystore ~/k ...

最新文章

  1. python3 列表转字节_Python 3.9!10大新特性值得关注
  2. SAP HUM 如何将2个HU合并并成一个?
  3. c#中不同类中变量的引用方法
  4. Neo4j:找到两个纬度/经度之间的中点
  5. java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)
  6. ts 模板库文件_在ts文件中使用模板引用变量的方法
  7. python核心编程:杂记2
  8. redis在Windows下以后台服务一键搭建集群(多机器)
  9. redis 经纬度_Redis 中的 GEO(地理信息)类型
  10. jenkins使用流程
  11. 九章算法系列(#2 Binary Search)-课堂笔记
  12. css背景图与html插入img的区别,css背景图与html插入img的区别
  13. 在阿里云服务器上安装常用应用
  14. MYSQL建表时PK,NN,UQ,BIN,UN,ZF,AI字段标识的意义
  15. 小学计算机社团活动简报,多彩社团活动,幸福校园生活——单集镇新河小学开展社团活动简讯...
  16. 基于Python AutoCAD ActiveX 二次开发,pyautocad应用技术
  17. oracle的mysql_Oracle与MySQL的区别简析
  18. 关于MongoDB使用的优化总结
  19. iio子系统框架分析
  20. 记从开始到现在(一)

热门文章

  1. dist包编译html_npm package开发指南-包内容篇
  2. win10 安装db2 10.1 并使用DBserver连接db2数据库
  3. 导入php插件_漏洞分析丨WordPress评论插件wpDiscuz任意文件上传
  4. 交易系统典藏书籍总汇以及系统交易、程序化交易等经典资料收藏
  5. xlrd读取所有sheet名_如何在Python对Excel进行读取
  6. 文字虚线怎么去掉_PS十秒钟更改图片上的文字?没问题!这个小技巧你轻松get到手「16期」...
  7. 【备忘】加入L2范数正则化后的正规方程求解参数推导过程
  8. 人脸对齐(十二)--PIFA2017
  9. Markdown语法(一)标题段落分割线
  10. 数据结构--课程设计(归档)