zoukankan      html  css  js  c++  java
  • 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 FilesAndroidAndroid Studiojreinkeytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

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

    D:'Program Files''AndroidAndroid Studio'jreinkeytool -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'jreinkeytool -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存放的位置。

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

    补充打包bug:

    https://www.cnblogs.com/joe235/p/11492273.html

  • 相关阅读:
    需求的有序化和方案的系统化
    产品 增长 口碑传播
    私域流量的价值 大悦城微信营销:14万微信会员哪来的
    产品创新阶段关口细则
    业务关键数据指标
    TOB 增长
    医美品零售门店分析
    数据赋能饮品轻食
    [已读]你不知道的JavaScript(上卷)
    [已读]移动web手册
  • 原文地址:https://www.cnblogs.com/joe235/p/11198759.html
Copyright © 2011-2022 走看看