MacOS系統Flutter打包apk
一、打包前需要做一些基本设置的确认
1.应用名
2.权限设置
3.applicationId:应用唯一标识符
4.versionCode:版本号
5.versionName:版本名称
6.APP应用图标
7.APP启动页
以上对应的设置可以参考Flutter官网
二、APP签名(以下操作均针对macOS)
创建keystore
如果你之前已经创建过keystore的话,可以跳过此步骤。如果没有,请打开终端运行以下命令来创建一个:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

敲回车之后就会让你输入打开keystore文件的密码,其他根据具体情况去配置就可以了,最后敲是,然后回车即可,下面会告诉你生产该文件的路径
在应用程序中引用keystore
首先创建一个文件key.properties
路径为<app dir>/android/key.properties,其中<app dir>就是你app的文件路径,key.properties为文件名

在该文件中输入对应的配置
storePassword=<生成keystore时设置的密码>
keyPassword=<生成keystore时设置的密码>
keyAlias=key
storeFile=<location of the key store file, e.g. /Users/<user name>/key.jks>即生成文件的key.jks的文件路径

在gradle中配置签名
配置的文件路径为<app dir>/android/app/build.gradle为应用配置

android {替换为
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android {
将
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
}
}
替換為
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
现在,您的应用的release版本将自动进行签名。
最后
使用命令行:
cd <app dir> (<app dir> 为您的工程目录).
运行flutter build apk (flutter build 默认会包含 --release选项).
打包好的发布APK位于<app dir>/build/app/outputs/apk/app-release.apk
最后注意:使用该命令打包时有可能提示打包很慢,是因为要使用gradle,大家懂的,所以需要耐心等待

MacOS系統Flutter打包apk的更多相关文章
- 从零学习Fluter(七):Flutter打包apk详解
写一个win上 flutter 打包apk的教程 这篇文档介绍一下flutter打包发布正式版apk 整体来看,和命令行打包rn的方法相差不大 打包前先做检查工作&查看构建配置 Android ...
- flutter 打包apk
打包的具体操作,可以参照官网,只是官网没有那么细 1.修改AndroidManifest.xml 2.构建配置 可以跳过 3.构建签名 4.创建 key.properties 5.配置混淆 6.修改 ...
- AndroidStudio中Flutter打包APK
1.生成签名文件 在打包之前我们需要一个签名文件,证明文件的唯一性. keytool -genkey -v -keystore F:\APP\sign.jks -keyalg RSA -keysize ...
- flutter 打包apk之后,安装在手机上无法访问网络解决方法
</application> <uses-permission android:name="android.permission.READ_PHONE_STATE" ...
- Flutter打包release版本安卓apk包真机安装无法请求网络的解决方法
今天flutter build apk打包了一个release.apk包,在真机上安装后网络数据都不显示,但是在模拟器上没问题,然后又连接真机开debug各种测试,一切都正常!那这会是什么问题呢? 查 ...
- Flutter 打包Android APK 笔记与事项
获取一个KEY 首先要获取 你的 打包应用的一个 key ,这一步其实和 在AndroidStudio 上打包 APK 一样,都是要注册一个本地的 key,key 其实也就是 jks文件啦. 如果已经 ...
- Flutter 打包程序 build android apk
Step-1 Java 路径 找到java路径, 可使用[flutter doctor -v] Step-2: 进入目录 找到路径后 C:\Program Files\Java\jre1.8.0_23 ...
- flutter vscode 安卓打包apk文件
配置 VSCode默认是没有使用密钥签名的,往往我们在正式项目中是需要签名的.那就创建好了...所以需要自己创建并使用密钥签名 步骤一 创建密钥库 执行以下命令: keytool -genkey -v ...
- [摘录]flutter打包后无法访问接口
打开文件{{flutterPorject}}\android\app\src\main\AndroidManifest.xml这个文件增加权限信息: <uses-permission andro ...
随机推荐
- PHP必备函数详解
PHP必备函数详解
- MySQL高可用方案 MHA之四 keepalived 半同步复制
主从架构(开启5.7的增强半同步模式)master: 10.150.20.90 ed3jrdba90slave: 10.150.20.97 ed3jrdba97 10.150.20.132 ...
- 《计算机程式设计》Week3 课堂笔记
本笔记记录自 Coursera课程 <计算机程式设计> 台湾大学 刘邦锋老师 Week3 Array 3-1 Array Usage 例子:使用数组一次申明10个整数变量 int a[10 ...
- python中5个json库的速度对比
python中json的序列化与反序列化有很多库,具体选择使用哪一个,或者哪一个速度更快呢? 先上结果 json序列化与反序列化速度对比(按总时间排序:测试数据100 * 10000) ujson 序 ...
- TensorFlow学习笔记7-深度前馈网络(多层感知机)
深度前馈网络(前馈神经网络,多层感知机) 神经网络基本概念 前馈神经网络在模型输出和模型本身之间没有反馈连接;前馈神经网络包含反馈连接时,称为循环神经网络. 前馈神经网络用有向无环图表示. 设三个函数 ...
- ELK 学习
[Udemy] ES 7 and Elastic Stack - part 1 [Udemy] ES 7 and Elastic Stack - part 2 [Udemy] ES 7 and Ela ...
- shell命令传参数(参数长度不定)
脚本 sudo echo "[mysqlMaster<$1>]" >> /home/admin/hostrecord count= ];do >> ...
- Oracle的substr函数简单用法(转)
转:http://www.cnblogs.com/nicholas_f/articles/1526063.html substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('H ...
- oracle--单行函数和多行函数
单行函数 1.字符函数 函 数 功 能 示 例 结 果 INITCAP (char) 首字母大写 initcap ('hello') Hello LOWER (char) 转换为小写 lower ...
- 多线程09-Mutex
))) { Console.WriteLine("second instance is runing" ...