Mac OS Flutter打包安卓APK包

一、打包前需要做一些基本设置的确认

1.应用名
2.权限设置
3.applicationId:应用唯一标识符
4.versionCode:版本号
5.versionName:版本名称
6.APP应用图标
7.APP启动页
以上对应的设置可以参考Flutter官网

二、APP签名(以下操作均针对macOS)

创建keystore
如果你之前已经创建过keystore的话,可以跳过此步骤。如果没有,请打开终端运行以下命令来创建一个:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

Mac OS Flutter打包安卓APK包_第1张图片
创建keystore.png

敲回车之后就会让你输入打开keystore文件的密码,其他根据具体情况去配置就可以了,最后敲 ,然后回车即可,下面会告诉你生产该文件的路径

在应用程序中引用keystore
首先创建一个文件key.properties
路径为/android/key.properties,其中就是你app的文件路径,key.properties为文件名

Mac OS Flutter打包安卓APK包_第2张图片
项目中配置keystore.png

在该文件中输入对应的配置

storePassword=<生成keystore时设置的密码>
keyPassword=<生成keystore时设置的密码>
keyAlias=key
storeFile=/key.jks>即生成文件的key.jks的文件路径
key的文件内容.png

在gradle中配置签名
配置的文件路径为/android/app/build.gradle为应用配置

Mac OS Flutter打包安卓APK包_第3张图片
替换代码.png


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版本将自动进行签名。

最后
使用命令行:
cd ( 为您的工程目录).
运行flutter build apk (flutter build 默认会包含 --release选项).
打包好的发布APK位于/build/app/outputs/apk/app-release.apk
最后注意:使用该命令打包时有可能提示打包很慢,是因为要使用gradle,大家懂的,所以需要耐心等待,成功则显示如下

Mac OS Flutter打包安卓APK包_第4张图片
APK打包成功.png

你可能感兴趣的:(Mac OS Flutter打包安卓APK包)