【问题标题】:How to sign Android App on another computer如何在另一台计算机上签署 Android 应用程序
【发布时间】:2020-01-02 13:56:52
【问题描述】:

我正在使用 Flutter,并且我有一台运行良好的旧 Mac Mini,但后来 Apple 推出了 Signin with Apple,您无法在旧版本的 Xcode 上构建它,所以我必须在我的 Macbook Air 上进行我几乎不用来构建应用程序,因为我在台式机上感觉更舒服。

现在,当我更新某些内容时,我必须将其推送到 Github,然后更新项目并在 Mac mini 上构建捆绑包,因为有我用来签署应用程序的证书。

问题是我想出售 Mac mini,我有一个潜在买家,但我不知道如何在 Macbook Air 中导入 .jks。我尝试简单地复制它,但它不起作用。 有人可以帮我解决这个问题吗?

【问题讨论】:

  • 我认为我们可以简单地复制粘贴,如果它不起作用,您可以使用 git 来完成,例如推入分支并从 MacBook 中提取。
  • 我复制了它,但是在构建它时,无法将其上传到 Play 管理中心,因为它无法识别密钥。
  • 您是否正在生成内置发布环境并使用相同的 .jks?
  • 嗯,有问题我不知道如何在另一台电脑上导入.jks,复制它不起作用。
  • 密钥没有锁在任何机器上,可以复制;但是 XCode 与它有什么关系?!如果您用错误的内容覆​​盖了正确的内容,那么您可能会遇到真正的问题(除非不使用上传密钥)。默认情况下,它甚至不是 *.jks,但它们在用户配置文件中,在 .android 目录中。

标签: android flutter jks


【解决方案1】:
  1. 获取用于签署 android 包的 .jks
  2. 复制到你的flutter项目的/android目录中
  3. 在/android目录下创建key.properties文件,插入内容如下:
storePassword=jks_password
keyPassword=key_password
keyAlias=key_alias_name
storeFile=../jks_file.jks
  1. 现在运行flutter命令通过以下代码生成apk或appbundle

flutter build apkflutter build appbundle

【讨论】:

    【解决方案2】:

    当我在 Flutter 1.12 升级期间因插件冲突问题而不得不将原始 Flutter 项目移动到另一个项目时,我遇到了这个问题。我猜 SHA1 指纹是由设备和项目配置生成的。所以最好的办法是:

    1) create new project and obtain new jks key 
    2) change the package name of your project(sadly this would be new app in the playstore)
    

    使用以下命令在 mac 中创建密钥:

       keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    【讨论】:

      猜你喜欢
      • 2022-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 2018-02-02
      • 2012-11-03
      • 2014-01-21
      相关资源
      最近更新 更多