Flutter下Android打包

一.用指令生成签名文件 key.jks

    在Terminal里执行下列命令:

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

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

           2.此操作生成的签名是*.jks格式

二. 创建一个key.properties文件

   

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

      storePassword=<创建keystore时的storePassword>,如:123456
      keyPassword=123456<创建keystore时的keyPassword>,如:123456
      keyAlias=key
      storeFile=../key.jks 例如: /Users/ykyjhuangl/Desktop/myflutterdemo/key.jks(我是mac路径)

     文件内容和层级如图所示:

    Flutter下Android打包_第1张图片

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

替换:

android {
为:

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

android {

如图所示:

Flutter下Android打包_第2张图片
替换:

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
    }
}

如图所示:

Flutter下Android打包_第3张图片

四.生成apk
 

 直接在Terminal中运行命令flutter build apk

 打包好的发布APK位于/build/app/outputs/apk/app-release.apk。


 五.如果flutter项目下不显示build文件(我当时就是apk打包成功就是找不到build文件)

  

 如上图钩上红色选项就可以了。

你可能感兴趣的:(flutter)