flutter项目 发布Google Play

首次发布Flutter应用到Google Play的完整指南

本文将详细介绍如何首次将Flutter应用发布到Google Play商店。对于iOS开发者,也可以使用AppUploader工具来简化iOS应用的上传流程,但本文主要聚焦Android平台的操作。

准备工作

  1. 登录Google Play控制台
  2. 选择需要上传版本的项目并进入发布版本页面

签名密钥设置

重要提示:不要使用Google自动生成的密钥,选择"使用其他密钥"选项。

密钥生成步骤

  1. 新建专用文件夹存储相关文件
  2. 下载加密公钥和PEPK工具到该文件夹
  3. 安装Java Development Kit (JDK)

环境变量配置(Windows示例)

  1. 打开控制面板>系统和安全>系统
  2. 点击"高级系统设置"
  3. 在"系统属性"窗口中点击"环境变量"
  4. 在系统变量中找到Path并编辑
  5. 添加JDK的bin目录路径(如C:\Program Files\Java\jdk-11\bin)

生成签名密钥

在文件夹中打开命令窗口运行:

vbnet 复制代码
keytool -genkey -v -keystore D:\keystore\my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

参数说明:

  • -keystore:密钥库文件路径
  • -alias:密钥别名
  • 其他参数保持默认即可

生成Google Play需要的压缩文件

使用pepk.jar工具导出密钥:

vbnet 复制代码
java -jar D:\keystore\pepk.jar --keystore=D:\keystore\my-release-key.jks --alias=my-key-alias --output=D:\keystore\output.zip --include-cert --rsa-aes-encryption --encryption-key-path=D:\keystore\encryption_public_key.pem

项目配置更新

修改android/app/build.gradle文件:

arduino 复制代码
android {
    signingConfigs {
        release {
            keyAlias 'my-key-alias'
            keyPassword 'your-key-password'
            storeFile file('D:\\keystore\\my-release-key.jks')
            storePassword 'your-store-password'
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
        }
    }
}

密钥验证与管理

arduino 复制代码
// 检查密钥信息
keytool -list -v -keystore D:\keystore\my-release-key.jks

// 删除密钥(如需重新生成)
del D:\keystore\my-release-key.jks

构建与上传

  1. 生成App Bundle:
arduino 复制代码
flutter build appbundle --release
  1. 在Google Play控制台上传生成的aab文件

对于iOS开发者,AppUploader提供了类似的一站式解决方案,可以简化iOS应用的上传和发布流程。但Android开发者仍需按照上述步骤完成Google Play的发布流程。

提示:发布前请确保已满足所有Google Play的政策要求,并完成必要的应用信息和内容评级设置。

相关推荐
Victor3563 分钟前
Netty(16)Netty的零拷贝机制是什么?它如何提高性能?
后端
Victor35610 分钟前
Netty(15)Netty的线程模型是什么?它有哪些线程池类型?
后端
canonical_entropy35 分钟前
Nop入门:增加DSL模型解析器
spring boot·后端·架构
渣娃-小晴晴1 小时前
java集合在并发环境下应用时的注意事项
java·后端
Jaising6661 小时前
PF4J 日志类冲突与 JVM 类加载机制
jvm·后端
Undoom2 小时前
智能开发环境下的 Diagram-as-Code 实践:MCP Mermaid 技术链路拆解
后端
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue图书借阅管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
疯狂的程序猴2 小时前
IPA 深度混淆是什么意思?分析其与普通混淆的区别
后端
cci2 小时前
Remote ssh无法连接?
后端