【发布时间】:2018-12-12 13:46:46
【问题描述】:
我想上传一个示例 Flutter 应用程序来代替具有相同包的现有应用程序。如何使用现有的密钥库详细信息构建签名的 apk
【问题讨论】:
-
你可以通过这样的命令提示符来做到这一点:stackoverflow.com/a/60699042/3894304。因此你的 local.properties 和 keytore.properties 必须是正确的。
我想上传一个示例 Flutter 应用程序来代替具有相同包的现有应用程序。如何使用现有的密钥库详细信息构建签名的 apk
【问题讨论】:
如果您使用 Android Studio 按照下面链接中给出的步骤生成了以前的新鲜 签名 APK,请不要担心。
欲了解更多信息,请查看此链接
现在只需按照以下步骤使用现有密钥库详细信息构建签名 apk。
重要
在使用现有密钥库详细信息生成签名 APK 之前,请确保每次升级 来自 pubspec.yaml 文件的 Flutter 版本和 来自 local.properties 文件的版本代码。
例如
如果pubspec.yaml文件中之前的flutter版本代码是
version: 1.0.0+1 然后在 + 号后更改或升级到 version: 1.0.0+2 或任何其他比以前更大的数字。
如果 Project -> android -> local.properties 中的 flutter.versionCode 是
flutter.versionCode=1 然后将其更改或升级为 flutter.versionCode=2 或任何其他比以前代码更大的数字。 [此版本代码对于在 Google Play 控制台 上使用现有应用(即发布新更新)发布您的应用很重要]
然后按照以下步骤操作 -
第 1 步:
进入您的项目,然后在 Android Studio 中 Tools -> Flutter -> Open for Editing 如下所示
然后选择新窗口选项,如下图所示
第 2 步:
等待一段时间,直到项目同步。在那之后 从菜单栏中转到 Build -> GenerateSigned Bundle/APK... 选项,如下所示
第 3 步:
根据需要选择 Android App Bundle 或 APK 选项。 (Android App Bundle 是最好的解决方案)然后点击 Next 按钮。
第 4 步:
选择 Choose existing... 选项以生成 带有现有密钥库详细信息的签名 APK。(当您上传 Flutter 应用程序以代替具有相同包的现有应用程序时。)
选择 密钥存储路径,您的密钥存储文件 .jks 文件存储在其中。 [您的项目目录中的路径。](如上所述链接)]
然后填写所有选项,即
密钥库密码
密钥别名
密钥密码
然后点击下一步按钮,如下图...
第 5 步:
选择选项
构建变体 - 发布和
签名版本分别是V1和V2如上图所示,点击完成按钮,如下图所示。
第 8 步:
等待一段时间,直到 Gradle Build Running 进程。
最后您将获得Generate Signed APK : (APKs) 成功生成。点击 Locate 选项以获取您的 Generate Signed APK 文件的位置。如下图。
这就是您成功生成签名 APK 以更新您的 Flutter 应用以代替具有相同包的现有应用。
【讨论】:
根据需要编辑AndroidManifest,然后添加android/key.properties keystore 数据:
storePassword=STORE_PASSWORD
keyPassword=KRY_PASSWORD
keyAlias=ALIAS
storeFile=..\\android.jks
然后将您的 *.jks(在本例中为 android.jks)放入 android/
在您的app/build.gradle 中添加这些行:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
当您使用 flutter build apk 构建您的 Flutter 应用程序时,将在 build/app/outputs/apk/release/app-release.apk 中生成具有给定密钥库的发布 apk。
【讨论】: