当前位置:   article > 正文

Flutter学习笔记之二 apk打包_flutter 安装sdcard的apk

flutter 安装sdcard的apk

上篇记录了Flutter环境搭建,初步创建了一个项目熟悉了一下,然后试着打包了Android安装包,总的来说和一般Android项目差不多,只是Flutter用的全都是命令行完成的,不知道有没有图形化界面的方式,反正我没在studio的Build菜单里找到。

1、生成key.jks

打开你的cmd或者shell
输入命令

keytool -genkey -v -keystore 保存路径/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
  • 1

在这里插入图片描述

需要说明一下 此处踩坑

最后一个命令那里提示(如果和密钥库口令相同, 按回车),这里我直接点的回车,但是后面用的时候并不是和秘钥库口令一样,建议手动输入,下面细说。
key.jks文件生成了。
2、创建key.properties配置文件
文件放在flutter_app/android/目录下
内容为:

storePassword=123456	秘钥库密码
keyPassword=123456		key密码
keyAlias=key			key别名
storeFile=D:/android/android_work_space/demo/flutter_app/key.jks		key.jks存放路径
  • 1
  • 2
  • 3
  • 4

3、配置build.gradle
打开flutter_app/android/app/build.gradle,最外层添加:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
  • 1
  • 2
  • 3

android{

}
里面buildTypes的debug修改为release,另外添加gningConfigs :

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}
gningConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4、打包
运行命令打包

flutter build apk
  • 1

这里我运行的时候报错了:在这里插入图片描述
啥意思呢?

“从存储“D:androidandroid_work_spacedemoflutter_appkey.jks”读取密钥123456失败:在密钥存储D:\androidandroid_work_spacedemoflutter_appkey.jks中没有找到别名“123456”的密钥。”

在步骤1中秘钥口令我输的123456,在最后一步我什么都没输,按说别名应该是123456(问题解决之前步骤2中的keyAlias=123456),但是现在说找不到,然后我通过命令行看了一下key.jks的信息:

PS D:\android\android_work_space\demo\flutter_app> keytool -list -v -keystore key.jks
  • 1

在这里插入图片描述
不是说“如果和秘钥库口令相同按回车”?怎么别名就成key了?不靠谱
然后我就把步骤2中的keyAlias=key了。
再次运行编译打包,成功了。
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/820138
推荐阅读
相关标签
  

闽ICP备14008679号