根据一般的 Flutter 开发流程,在 macOS 系统上为 Flutter 项目打包 Android APK 的步骤如下:

  1. 安装必要的软件:

    • Flutter SDK:
      • Flutter 官网 下载最新版本的 Flutter SDK。
      • 解压后,将 Flutter 的路径添加到系统的环境变量中,例如:
        export PATH="$PATH:/path/to/flutter/bin"
        
      • 在终端中运行 flutter doctor,确保 Flutter 安装正确,并根据提示安装任何缺失的依赖项。
    • Android Studio:
      • Android Studio 下载并安装。
      • 打开 Android Studio,安装必要的组件,如 Android SDK、Android SDK Command-line Tools 和 Android Virtual Device (AVD)。
      • 在 Android Studio 的设置中,配置 Android SDK 的路径,并确保 adb 命令可用。
    • Java 环境:
      • 确保安装了合适版本的 JDK(推荐使用 JDK 11)。
      • 在终端中运行 java -version 检查 JDK 是否正确安装。
      • 如果未安装,可使用 Homebrew 安装:
        brew install openjdk@11
        
  2. 配置 Flutter 项目:

    • 在终端中导航到您的 Flutter 项目目录。
    • 运行 flutter doctor,确保所有依赖项都已正确安装。
    • 如果项目中缺少 android 文件夹,运行 flutter create . 以生成必要的文件。
  3. 配置 Android 打包签名:

    • 生成签名密钥:
      • 使用 keytool 生成密钥:
        keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
        
      • 按照提示输入必要的信息,并将生成的密钥文件保存到安全位置,例如项目的 android/app 文件夹。
    • 配置签名文件:
      • 编辑 android/app/build.gradle 文件,在 android 块中添加签名配置:
        android {
            ...
            signingConfigs {
                release {
                    keyAlias 'my-key-alias'
                    keyPassword 'your-key-password'
                    storeFile file('path/to/your/my-release-key.jks')
                    storePassword 'your-store-password'
                }
            }
            buildTypes {
                release {
                    signingConfig signingConfigs.release
                    minifyEnabled false // 如果需要代码混淆,可以设为 true 并配置 proguard-rules.pro
                }
            }
        }
        
  4. 打包 APK:

    • 在项目根目录下运行以下命令以生成发布版本的 APK:
      flutter build apk --release
      
    • 打包完成后,APK 文件将位于:
      build/app/outputs/flutter-apk/app-release.apk
      
  5. 部署与测试:

    • 将生成的 app-release.apk 文件传输到 Android 设备上。
    • 使用以下命令安装:
      adb install build/app/outputs/flutter-apk/app-release.apk
      
  6. 常见问题与解决办法:

    • flutter doctor 提示缺少 Android SDK Command-line Tools:
      • 打开 Android Studio,进入 SDK Manager,安装 "Android SDK Command-line Tools"。
    • 打包时找不到签名文件:
      • 确认 build.gradle 文件中指定的路径是否正确。
    • keytool 命令未找到:
      • 检查 JDK 是否正确安装,并确保其路径已添加到环境变量中。

希望这些步骤能帮助您在 macOS 上成功为 Flutter 项目打包 Android APK。如有其他问题,请随时提问。