关于Flutter 中,App内购支付集成 Google 签名的管理-手动生成签名 APK

embedded/2024/10/21 21:39:19/

Google play 手动生成签名 APK

1. 要创建一个 JKS(Java KeyStore)文件,可以使用 keytool 命令行工具。keytool 是 JDK 自带的工具,用于生成和管理密钥库和证书。

步骤 1:安装 JDK

确保已安装 JDK。如果未安装,可以从 Oracle 或 OpenJDK 下载并安装。

步骤 2:使用 keytool 创建 JKS 文件

打开命令行终端(Windows 下的 cmd 或 PowerShell,macOS/Linux 下的终端),运行以下命令:

keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

命令参数说明:

-genkeypair:生成一个密钥对(公钥和私钥)。
-v:启用详细输出。
-keystore my-release-key.jks:指定生成的密钥库文件名为 my-release-key.jks。
-keyalg RSA:指定密钥算法为 RSA。
-keysize 2048:指定密钥大小为 2048 位。
-validity 10000:指定证书的有效期为 10000 天。
-alias my-key-alias:指定密钥的别名为 my-key-alias。

交互式输入

运行上述命令后,keytool 会提示你输入以下信息:

  1. Keystore password: 输入并确认密钥库密码。
  2. Your first and last name: 输入你的名字和姓氏。
  3. Your organizational unit: 输入你的组织单位。
  4. Your organization: 输入你的组织名称。
  5. Your city or locality: 输入你的城市或地区。
  6. Your state or province: 输入你的州或省。
  7. The two-letter country code for this unit: 输入你的国家代码(例如,中国为 CN)。
    Key password for : 输入并确认密钥密码(如果不与密钥库密码相同,可以直接按回车)。

完成这些步骤后,将在当前目录下生成 my-release-key.jks 文件。

2. 创建或配置密钥库文件 (key.properties):

在项目的 android 目录下创建一个 key.properties 文件,内容如下:
storePassword=<your keystore password>
keyPassword=<your key password>
keyAlias=<your key alias>
storeFile=<location of your keystore file>
假设你的密钥库文件位于 android/app/my-release-key.jks,那么 key.properties 文件内容如下:
storePassword=myStorePassword
keyPassword=myKeyPassword
keyAlias=myKeyAlias
storeFile=app/my-release-key.jks

3. 配置 build.gradle 文件:

在 android/app/build.gradle 文件中,添加如下内容:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))android {...signingConfigs {release {keyAlias keystoreProperties['keyAlias']         // 密钥别名keyPassword keystoreProperties['keyPassword']   // 密钥密码storeFile file(keystoreProperties['storeFile']) // 密钥库文件storePassword keystoreProperties['storePassword'] // 密钥库密码}}buildTypes {release {signingConfig signingConfigs.release  // 使用上面定义的 release 签名配置minifyEnabled false                   // 禁用代码混淆(proguard)shrinkResources false                 // 禁用资源缩减proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 使用 ProGuard 文件用于代码混淆和优化。}}
}

4. 生成签名的 AAB 包

在终端中运行以下命令生成签名的 AAB 包:

flutter build appbundle --release

5. 配置 Play App Signing

如果你希望启用 Google Play App Signing,并且这是你第一次将应用程序上传到 Google Play,可以按照以下步骤操作:

上传 AAB 包到 Google Play:

  1. 访问 Google Play Console。
    选择你的应用程序或创建一个新的应用程序。
    导航到 Release -> Production -> Create new release,上传刚生成的 AAB 文件。
    选择签名方式:

  2. 在首次上传应用程序时,Google Play 会询问你是否要启用 Google Play App Signing。选择启用它,这样 Google 会管理你的应用签名密钥,提高安全性。
    上传签名密钥(如果需要):

  3. 如果你的应用已经存在于 Google Play 并且你要切换到 Google Play App Signing,请按照 Google Play Console 中的指示加密并上传你的签名密钥。


http://www.ppmy.cn/embedded/129371.html

相关文章

MySQL8.0以下版本重启后自增主键值丢失问题

文章目录 问题原因分析MySQL8.0以下版本MySQL8.0版本MySQL5.7版本 问题复现MySQL 5.7.22MySQL 8.0.23 解决方案升级MySQL到8.0业务代码预防 参考 问题 上周运维同学重启了UAT环境的MySQL数据库服务&#xff0c;刚开始我是不知道数据库重启了&#xff0c;先是业务服务开始异常&…

监控内容、监控指标、监控工具大科普

在现代信息技术领域&#xff0c;监控技术扮演着至关重要的角色。它帮助我们实时了解系统、网络、应用以及环境的状态&#xff0c;确保它们的安全、稳定和高效运行。以下是对监控内容、监控指标和监控工具的详细科普。 一、监控内容 监控内容是指监控系统所关注和记录的具体信…

企业成本与时间管理新策略 低代码自动化显身手

低代码自动化平台助力企业降本增效&#xff0c;加速数字化转型。ZohoCreator作为领先平台&#xff0c;提供可视化开发、丰富模板、自动化工作流等功能&#xff0c;广泛应用于招聘、制造、库存管理等行业&#xff0c;提升效率&#xff0c;降低成本。 一、什么是低代码自动化&…

Scrapy | 爬取笑话网来认识继承自Spider的crawlspider爬虫类

crawlspider 1. 创建crawlspider爬虫2. 实战-爬取笑话网笑话 本篇内容旨在拓展视野和知识&#xff0c;了解crawlspider的使用即可&#xff0c;主要熟悉掌握spider类的使用 CrawlSpider 提供了一种更高级的方法来定义爬取规则&#xff0c;而无需编写大量的重复代码。它基于规则…

VSCODE使用记录

1、文件或文件夹显示与搜索&#xff08;一个工程&#xff0c;不是全局的&#xff09; ①CtrlShiftP ②选择1&#xff0c;出现settings.json文件 &#xff0c;把需要屏蔽搜索的文件配置里面 { "files.encoding": "gb2312","security.workspace.trus…

基于SSM+微信小程序的房屋租赁管理系统(房屋2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的房屋租赁管理系统实现了有管理员、中介和用户。 1、管理员功能有&#xff0c;个人中心&#xff0c;用户管理&#xff0c;中介管理&#xff0c;房屋信息管理&#xff…

SpringBoot构建的智能健康生活助手

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

桂林旅游一点通:SpringBoot平台应用

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架&#xff0c;JAVA作…