Flutter安卓客户端打包

Posted joe235

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter安卓客户端打包相关的知识,希望对你有一定的参考价值。

想要安装到手机上,必须要进行打包,因为没有苹果手机,所以只能打包android客户端的apk。

检查 App的配置

查看默认应用程序清单文件(位于/android/app/src/main/中的AndroidManifest.xml文件),并验证这些值是否正确,特别是:

android:label 这个是打包的项目名称
android:icon 这个是打包生成的图标,可以替换或者改名字

创建 keystore

官方文档上写的是,请通过在运行以下命令来创建一个: keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

但是我们敲了以后会报错,按提示运行 flutter doctor 还是没看到症结所在。后来看了别人的踩坑文档,应该是运行:

flutter doctor -v

可以看到以下一些代码:

技术图片

找到上图Java binary at: 后面的地址,然后复制到官方命令的前面位置,如下:

D:\\Program Files\\Android\\Android Studio\\jre\\bin\\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

回车后发现还是报错,后来发现是路径上不能有空格,如果有空格的话,要加引号括起来:

D:\\Program Files\\Android\\Android Studio\\jre\\bin\\keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

注意:~/key.jks 是Key所要存储的位置,可以改为你现有的盘符路径,比如:d:\\key.jks 或 e:\\key.jks

D:\\Program Files\\Android\\Android Studio\\jre\\bin\\keytool -genkey -v -keystore e:\\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

回车后会让你输入密钥库口令,这个可以随便输入,后面按提示操作就可以了。

引用应用程序中的keystore

在android目录下创建一个名为 key.properties 的文件,里面复制下面内容:

//比如你的密钥口令是123456
storePassword=123456  //密钥口令
keyPassword=123456  //密钥口令
keyAlias=key
storeFile=E:/key.jks  //存放密钥的位置

注意: 保持文件私密; 不要将它加入公共源代码控制中

在gradle中配置签名

通过编辑android/app/build.gradle文件为应用配置签名

1、替换

找到android...,然后在上面添加以下代码:

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

2、替换

找到buildTypes...,然后整个替换为以下代码:

signingConfigs 
    release 
        keyAlias keystoreProperties[keyAlias]
        keyPassword keystoreProperties[keyPassword]
        storeFile file(keystoreProperties[storeFile])
        storePassword keystoreProperties[storePassword]
    

buildTypes 
    release 
        signingConfig signingConfigs.release
    

现在,您的应用的release版本将自动进行签名。

构建一个发布版(release)APK

现在准备工作都差不多完成,可以进行打包了。输入命令:

flutter build apk

稍等一会儿时间就会提示打包完成了,并告诉你apk存放的位置。

技术图片

然后就可以进行真机安装,或者分享了。

以上是关于Flutter安卓客户端打包的主要内容,如果未能解决你的问题,请参考以下文章

如何解决安卓七,客户端用的webview打包视频切换有暂停图标

Flutter mac上打包安卓APK遇到的坑

给客户配置安卓工程的时候遇到的问题

H5游戏微端打包工具安卓机和苹果机都能进行打包吗?

干货: 在 Flutter 项目下安卓 flavor 打包配置实践 | 开发者说·DTalk

干货: 在 Flutter 项目下安卓 flavor 打包配置实践 | 开发者说·DTalk