flutter 发布release版的流程(android)

4,543 阅读2分钟

1、配置包名和版本

找到android-app-src-build.gradle文件
defaultConfig{...}中配置好版本号以及包名

2、生成key

在AS的终端中,进入到工程目录输入(根据实际情况修改~/key.jks

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

根据提示继续往下执行,将生成文件保存好,记住生成文件(key.jks)的路径
这里可能会提示,keytool不再系统的路径中,它是Java JDK的一部分,它是作为Android Studio的一部分安装的。有关具体路径,请百度。找到JAVA JDK的路径,然后就可以找到keytool

3、创建key.properities

android目录中创建一个文件,文件名为:`key.properties'
文件内容为:

storePassword = <password from previous step>
keyPassword = <password from previous step>
keyAlias = key
storeFile = <location of the key store file, e.g. /Users/<user name>/key.jks>

注意空格与缩进,需要将"<>"中的内容,包括"<>"完全替换
例如

storePassword = 123
keyPassword = 123
keyAlias = key
storeFile = D:/key.jks

4、在gradle中配置签名

通过编辑<app dir>/android/app/build.gradle文件为您的应用配置签名
1、替换

android {

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

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
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }
}

5、在buildTypes加上目标平台的参数(可选)

因为在开发过程中可能用了一些第三方的插件或者其他一些原因,在发布release的时候可能会出现报错的情况,因此需要在buildTypes中加上参数来限制平台,保证包发布正确
将buildTypes添加如下:

buildTypes {    
    release {        
        signingConfig signingConfigs.release        
        ndk {            
            abiFilters 'armeabi-v7a'        
        }    
    }
 }

6、构建一个发布版(release)APK

如果您完成了前一节中的签名步骤,则会对APK进行签名。

使用命令行:
1、cd <app dir>(<app dir>为您的工程目录)
2、运行 flutter build apk (flutter build 默认包含 --release选项).一般可以直接在AS中的终端中运行