flutter打包

提示:本文在 Vscode中,安卓打包方式。


flutter打包

提示:flutter开发后,打包的两种方式:我使用的是vscode开发。

简单版本和复杂版本。


提示:一般来说在开发测试阶段使用简单版,发布阶段再使用复杂版。

一、简单版

打开VScode终端:输入命令 flutter build apk 即可
如图:表示打包成功了。
在这里插入图片描述

二、复杂版

1.生成 keystore

打开VScode终端输入:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

如果出现如下报错 ,证明你的java的jdk环境变量没有配置好(a

  • 可以重新配置jdk环境变量
  • 或者在刚刚的输入命令前面加上jdk环境变量的路径,注意空格需要用反引号(详情如下)

如果没有如下报错,直接跳到第二步(配置口令信息),看接下来的操作。
在这里插入图片描述

解决报错

  • 输入flutter doctor -v,查看java的jdk的安装路径
    在这里插入图片描述
  • 更改刚才的命令为 :java安装路径keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    注意:后面的java不写,只写到 bin ,详情如下
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

此时不再报错,界面展示如下

2.配置口令信息

出现如下操作选项,这里可以 自由输入 ,记住此时输入的 口令,后面会用到。 我的都是:123456 名称我都直接回车掠过了。
在这里插入图片描述
若此时填写完信息后,还会报错,请检查 此处的 ~是否换成自己的盘符。
我的换成了 D:/,否则会报错。
控制台输入(刚刚的命令,修改为此: ~改为了D:):
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
继续填写一系列的问题。最后是否正确输入: y即可

3.成功创建出key.jks

查看你刚刚输入的盘符,目录下,我的D盘下面就会有一个Jks的文件,记住这个文件不能共享给任何人。
在这里插入图片描述
有了这个key.jks文件后,可以到项目目录下的android文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码。

4.创建key.properties的文件

在你的项目的根目录下 android文件下,新建一个key.properties文件
粘贴下面的代码(这里就需要你刚刚设置的密钥,我的是123456)

storePassword=<password from previous step>    //输入上一步创建KEY时输入的 密钥库 密码
keyPassword=<password from previous step>    //输入上一步创建KEY时输入的 密钥 密码
keyAlias=key
storeFile=<E:/key.jks>    //key.jks的存放路径···

在这里插入图片描述

5.配置build.gradle文件

接下来找到 build.gradle文件 (在/android/app/build.gradle),注意不要搞错了
key生成好后,需要在build.gradle文件中进行配置。这个过程其实很简单,就是粘贴复制一些东西,你是不需要知道这些文件的具体用处的。

  • 第一项:

进入项目目录的/android/app/build.gradle文件,在android{这一行前面,加入如下代码:

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

在这里插入图片描述

  • 第二项:把如下代码进行替换
buildTypes {
    release {
        signingConfig signingConfigs.debug
    }
}

替换为

signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}

在这里插入图片描述

6.生成apk flutter build apk

最后一步:直接在终端中输入: flutter build apk
如图打包成功了(可以找到该apk安装查看效果)
在这里插入图片描述

三、安装打包好的包

  • 直接把该包复制后发到手机,安装即可

  • 控制台cd到该包的目录下,输入

     ```java
     1.安装apk到手机上
     adb install 路径/apk文件
     2.卸载app从手机上
     adb uninstall 包名
     3.查看应用的启动时间
     adb shell am start -W
     ```
    

1.如果你的设备只有一个
输入命令
adb install -r D:\study\flutterStudy\flutter02\build\app\outputs\flutter-apk\app-release.apk
2.如果你的设备有真机,虚拟机好几个,想要在某一个安装:
需要指定 某个设备 后进行安装
adb devices 查看当前的设备
在这里插入图片描述
adb -s 设备名称 install -r app的路径/XXX.apk

在这里插入图片描述
输入命令:

adb -s emulator-5554 install -r D:\study\flutterStudy\flutter02\build\app\outputs\flutter-apk\app-release.apk

总结

日常开发中,只要第一种打包即可。不需要第二种,步骤过于繁琐,


版权声明:本文为qq_41117240原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。