【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

posted @ 2019-02-19 13:46  城别  阅读(1488)  评论(0编辑  收藏  举报