logo头像
Snippet 博客主题

android Flutter 编译正式版本

本文于331天之前发表,文中内容可能已经过时。

android Flutter 编译正式版本

参考

检查应用的 Manifest 清单

目录

<app dir>/android/app/src/main/AndroidManifest.xml

检测信息

1. application 中 图标 名称

2. 权限 uses-permission

3. 包名 版本号

gradle 配置

目录

<app dir>/android/app/

检测信息

1. defaultConfig 中 applicationId

2. versionCode & versionName

3. minSdkVersion & targetSdkVersion

签名

1. 创建 keystore 证书

可以使用android studio 创建签名

也可以使用命令行创建签名

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

2. 配置签名

创建证书引用的配置文件 key.properties

<app dir>/android/key.properties

storePassword=<上一步中输入的 store 密码>
keyPassword=<上一步中输入的 key 密码>
keyAlias=key
storeFile=<keystore 文件的位置, 例如: /Users/<user name>/key.jks>

编辑您应用的 <app dir>/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 版应用

在命令行使用:

cd <app dir> (用您应用工程的根目录替换 <app dir> )。
运行 flutter build apk (flutter build 命令默认使用 --release)。

您应用的 release 版本的 APK 会生成在 /build/app/outputs/apk/app-release.apk。

支付宝打赏 微信打赏

打赏