如何在Android Studio中为Flutter应用生成Google Play上传密钥和密钥库?

5
我正在尝试将我的Flutter应用部署到Android。根据Flutter文档,我们需要签署我们的应用程序。第一步是创建一个上传密钥库。有两种方法可以做到这一点。
第一种方法使用Android Studio。说明如下:
In the menu bar, click Build > Generate Signed Bundle/APK.

这是Bumblebee 2021.1.1中的Build的屏幕截图。

enter image description here

“生成签名的Bundle/APK”在哪里?

我点击了“构建 > Flutter > 构建应用程序包”。这个过程运行了一段时间,没有出现错误信息。

第二种方法使用命令行界面。您可以在Mac或Linux上输入以下命令:

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

这促使我需要一个“密钥库密码”。那是什么,我从哪里获取?
我应该在我的主目录中看到一个名为“upload-keystore.jks”的文件。这是指我的项目主目录还是用户主目录?我没有看到那个文件。
接下来,我被告知要
Create a file named [project]/android/key.properties that contains a reference to your keystore:

storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=upload
storeFile=<location of the key store file, such as /Users/<user name>/upload-keystore.jks>

什么密码来自哪个先前的步骤?密钥库文件位于哪里?
如果对于安卓用户来说这一切都很明显,我向你们道歉。我一直使用iPhone。昨天我买了我的第一部安卓手机,这让我完全困惑不解。

1
keytool -genkey -v -keystore 用于生成新的密钥库以签署 apk。 密钥库密码是您为生成的密钥库设置的密码。输入时,密码不会显示。 ~/upload-keystore.jks 表示当前用户主目录。在 Mac 上,通常位于 /Users/YourUsername/ 目录下。 - ישו אוהב אותך
https://docs.flutter.dev/deployment/android - Mohammad Rabiee Nasri
2个回答

6
谢谢@ישו אוהב אותך。错误是在运行时发生的。
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

它提示您:输入密钥库密码: 应该改为 创建新的密钥库密码输入新的密钥库密码

我想了一个独特的新密码swordfish并输入了它。我被提示输入我的姓名和地址,然后告诉:

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /Users/TDK/upload-keystore.jks -destkeystore /Users/TDK/upload-keystore.jks -deststoretype pkcs12".

看起来文档中需要更新第二个条目。

我运行了新的命令,现在在我的用户主目录下(而不是项目主目录下)看到一个名为upload-keystore.jks 的文件。

我会提交一个工单给Flutter以进行这两个更新。


2
我觉得这真是莫名其妙,距离Thomas发布这个问题已经过去了一年多,官方Flutter文档中关于签名应用的第一步仍然提到一个根本不存在的菜单选项。非常感谢Thomas对这个问题的发帖。 - ClayJ
似乎由于未在android文件夹中打开Android Studio,菜单项未显示出来。 请查看答案https://stackoverflow.com/a/76819784/10044909。 - undefined

1
(如果有人目前遇到这个问题)您需要在Android Studio中打开项目的android文件夹,然后才能看到生成已签名的Bundle/APK选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接