如何使用现有应用程序密钥库获取带签名的apk?

时间:2018-07-04 07:35:55

标签: dart flutter

我想上传一个flutter示例应用程序,以代替具有相同软件包的现有应用程序。如何使用现有密钥库详细信息构建签名的APK

2 个答案:

答案 0 :(得分:4)

如果您使用 Android Studio 作为波纹管链接中给出的步骤生成了以前的已签名APK ,则不必担心。

有关更多信息,请检查此链接

stackoverflow.com/questions/55536637/how-to-build-signed-apk-from-android-studio-for-flutter/60163484#60163484

现在只需按照以下步骤使用现有密钥库详细信息构建签名的APK。

重要

在生成带有现有密钥库详细信息的Signed APK之前,请确保每次从pubspec.yaml 文件下载 Flutter版本并从local.properties 文件版本代码时进行升级。

例如

如果 pubspec.yaml 文件中的先前flutter版本代码为

版本:1.0.0 + 1 ,然后将其更改或升级为版本:1.0.0 + 2 或其他任何比+号大的数字。

如果 Project-> android-> local.properties 中的 flutter.versionCode

flutter.versionCode = 1 ,然后将其更改或升级为 flutter.versionCode = 2 或任何比以前的代码更大的数字。 [在使用现有应用程序在 Google Play控制台上发布您的应用程序(即用于发布新更新 时),此版本代码很重要]

之后,请按以下步骤操作

步骤1:

转到您的项目,然后在Android Studio中进入工具-> Flutter->打开进行编辑,如下所示

enter image description here

然后选择“选择新窗口”选项,如下所示

enter image description here

第2步:

等待一段时间,直到项目同步。之后 如图所示,从菜单栏中转到 Build-> GenerateSigned Bundle / APK ... 选项

enter image description here

第3步:

根据需要选择 Android App Bundle或APK 选项。 (Android App Bundle是最佳解决方案),然后单击“下一步”按钮。

enter image description here

第4步:

选择选择现有... 选项,以生成具有现有密钥库详细信息的 Signed APK。(当您将flutter应用程序替换为具有相同软件包的现有应用程序时。)< / p>

选择密钥存储路径,其中存储了密钥存储文件 .jks [项目目录中的路径。] (如上所述,链接)]

然后填写所有选项,即

密钥存储区密码

密钥别名

关键密码

,然后点击 Next 按钮,如下所示...

enter image description here

第5步:

选择选项

内部版本-版本

分别

签名版本 V1和V2 ,如下面的屏幕快照所示,然后单击“完成”按钮,如下所示。

enter image description here

第8步:

等待一会儿,直到Gradle Build Running进程。

最后,您将成功生成 Generate Signed APK:(APK)成功生成。然后点击查找选项,获取生成签名的APK文件的位置。如图所示。

enter image description here

就是这样,您成功生成了Signed APK,用于更新Flutter应用,以代替具有相同软件包的现有应用。

答案 1 :(得分:2)

根据需要编辑AndroidManifest,然后在android/key.properties中添加密钥库数据:

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。