zoukankan      html  css  js  c++  java
  • Flutter打包apk中的一些巨坑

    许多人在使用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文件夹的buildappoutputsapk eleaseapp-release.apk 目录下。

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

  • 相关阅读:
    在 LR 中如何解决Socket 接收数据的验证
    UE 的文件比较方法
    使用plSQL连接Oracle报错,SQL*Net not properly installed和TNS:无法解析指定的连接标识符
    plsql developer连接oracle数据库
    将列表中的字符以‘*’连接生成一个新的字符串
    ElasticSearch之CURL操作
    MySQL 5.7.21 免安装版配置教程
    C# IL DASM 使用-破解c#软件方法
    For-each Loop,Index++ Loop , Iterator 那个效率更高
    10种简单的Java性能优化
  • 原文地址:https://www.cnblogs.com/yfc0818/p/11072653.html
Copyright © 2011-2022 走看看