【Flutter】MAC环境下打包APK

1、打开终端生成签名文件

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

结果

输入**库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  yuanzhiying
您的组织单位名称是什么?
  [Unknown]:  gongsi
您的组织名称是什么?
  [Unknown]:  gongsi
您所在的城市或区域名称是什么?
  [Unknown]:  beijing
您所在的省/市/自治区名称是什么?
  [Unknown]:  beijing
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=yuanzhiying, OU=gongsi, O=gongsi, L=beijing, ST=beijing, C=CN是否正确?
  [否]:  Y

正在为以下对象生成 2,048 位RSA**对和自签名证书 (SHA256withRSA) (有效期为 10,000 天):
     CN=yuanzhiying, OU=gongsi, O=gongsi, L=beijing, ST=beijing, C=CN
[正在存储/Users/yuanzhiying/sign.jks]

查看生成的签名文件:

keytool -list -v -keystore sign.jks
输入**库口令:  <输入**>

如果出现 The operation couldn’t be completed. Unable to locate a Java Runtime. 的问题

【Flutter】MAC环境下打包APK_第1张图片

 是因为我们在Mac中没有安装JDK环境。我们需要去Java Downloads | Oracle下载合适的JDK版本。

【Flutter】MAC环境下打包APK_第2张图片
 

我的Mac是 Apple M2 芯片,所以选择ARM64 DMG Installer。如果是Intel芯片的Mac,选择x64 DMG Installer

各位可以根据自己需要及电脑配置选择合适的版本。下载成功之后,双击进行安装。

检查是否安装成功,打开终端执行java -version指令

【Flutter】MAC环境下打包APK_第3张图片

2、在 Android Studio 中的 Flutter 项目的目录 /android/app 下创建文件夹 key,将生成的 sign.jks 文件拖放到 key 文件夹下。

【Flutter】MAC环境下打包APK_第4张图片

3、在 Flutter 项目目录 android 下创建文件 key.properties 并添加以下内容:

storePassword=123456
keyPassword=123456
keyAlias=sign
storeFile=key/sign.jks

【Flutter】MAC环境下打包APK_第5张图片

4、打开 /android/app/build.gradle 文件,添加以下内容

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

【Flutter】MAC环境下打包APK_第6张图片

5、在 Android Studio 项目下的 Terminal 中,执行打包命令:

flutter build apk

如果报错 zsh: command not found: flutter

则执行

source ~/.bash_profile
flutter build apk

打包apk成功

【Flutter】MAC环境下打包APK_第7张图片

打包完成后,apk文件将存储在Flutter项目的 build/app/outputs/apk 目录中。 

【Flutter】MAC环境下打包APK_第8张图片

你可能感兴趣的:(flutter)