• 【Flutter】安卓打包


     

    App签名

    创建 keystore

    如果您有现有keystore,请跳至下一步。如果没有,请通过在运行以下命令来创建一个:

    keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    

      

    注意:

    • 保持文件私密; 不要将它加入到公共源代码控制中。
    • 此操作生成的签名是*.jks格式

    引用应用程序中的keystore

    创建一个名为/android/key.properties的文件,其中包含对密钥库的引用:

    storePassword=<创建keystore时的storePassword>
    keyPassword=<创建keystore时的keyPassword>
    keyAlias=key
    storeFile=<密钥库文件的位置 , 例如: /Users/<user name>/key.jks>
    

      

    注意:

    • 保持文件私密; 不要将它加入公共源代码控制中.
    • storeFile 这里要使用绝对路径

    在gradle中配置签名

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

    替换:

    android {
    

      为:

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

     

    -----------------------------------------------------------------------------------------------------------------------------------------

     替换:

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
    

      为:

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

      

     

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

    构建一个发布版(release)APK
    使用命令行:

    cd <app dir> (<app dir> 为您的工程目录).
    运行flutter build apk (flutter build 默认会包含 --release选项).
    可直接使用编辑器中的Terminal运行 flutter build apk 命令.
    打包好的发布APK位于/build/app/outputs/apk/app-release.apk

  • 相关阅读:
    DOM优化
    jQuery绑定以及解除时间方法总结,以及事件触发的方法
    javascript的异步编程方法
    innerHTML,innertext ,textcontent,write()
    关于盒子的那些事
    关于HTTP的几种
    关于php中正则匹配包括换行符在内的任意字符的问题总结
    CSS透明属性详解
    Linux下apache日志分析与状态查看方法
    折半排序 (稳定的排序)
  • 原文地址:https://www.cnblogs.com/sangwl/p/10400598.html
Copyright © 2020-2023  润新知