【问题标题】:Why does "ionic cordova build" only generate unsigned APKs?为什么“ionic cordova build”只生成未签名的 APK?
【发布时间】:2017-05-19 09:10:46
【问题描述】:

我使用下面的命令来生成一个签名的 APK,我很确定这在几个月前就有效了:

$ ionic cordova build android --prod --release --keystore="./my-keystore-file.keystore" --storePassword=mypass --alias=mymail@gmail.com --password=mypass

但是,只会生成一个未签名的 APK。如何使用 ionic 生成签名的 APK?

【问题讨论】:

标签: cordova ionic-framework apk


【解决方案1】:

您需要在 Cordova 特定参数之前包含 -- --

$ ionic cordova build android --prod --release -- -- --keystore="./my-keystore-file.keystore" --storePassword=mypass --alias=mymail@gmail.com --password=mypass

build android --prod --release 选项由 Ionic CLI 处理,而第一个 -- 之后的所有内容都传递给 Ionic Cordova 插件。然后第二个 -- 之后的所有内容都传递给 Cordova。

【讨论】:

  • 酷!!!我没有看到这个,或者我只是跳过了这个!一旦我的ionic 命令由于某种原因而不是freeze 就立即检查它,只是运行它并且它冻结了。所以一旦命令行恢复工作,希望将标记为已解决。
  • 我在文档中的任何地方都找不到这个,我猜它自从 3.0 版切换到插件后就没有更新过。我必须深入研究源代码才能发现这一点。
  • 谢谢!否则今晚将是一个非常漫长的夜晚:]
【解决方案2】:

发布 ionic android 应用程序..

  1. 向项目添加平台..

ionic cordova platform add android

  1. 现在构建项目以供发布

cordova build android --release

  1. 我们可以在platforms/android/build/outputs/apk 中找到我们未签名的APK 文件。现在,我们需要对未签名的 APK 进行签名。

让我们使用 JDK 附带的 keytool 命令生成我们的私钥。

keytool -genkey -v -keystore <name_of_keystore>.keystore -alias alias_name 
-keyalg RSA -keysize 2048 -validity 10000

输入keystore 文件的密码。记住这个密码,以后会有用。输入所有字段后,会生成一个keystore文件。将其副本保存在其他地方以备将来使用。如果丢失,您将无法向您的应用提交更新!

  1. 要对未签名的 APK 进行签名,请运行 JDK 中也包含的 jarsigner 工具:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore name_of_keystore.keystore path_to_unsigned_apk_file.apk alias_name

为了方便使用,将未签名的 apk 复制到项目的根目录,然后使用 filename.apk 代替路径。

它会要求我们输入密钥库密码。

  1. 最后,我们需要运行zip align工具来优化APK

zipalign -v 4 HelloWorld-release-unsigned.apk new_apk_name.apk

现在我们有了名为 HelloWorld.apk 的最终发布二进制文件,我们可以在 Google Play Store 上发布它。

来源:离子docs

【讨论】:

  • 我认为如果你已经有一个密钥库文件,那可以工作..我没有尝试过这种方式..
  • 我已经有一个密钥库,这一条线已经为我工作了,它刚刚停止,现在只生成了 usnigned,但它在 2 个月前已经可以正常工作了相同的命令,这就是为什么我想知道为什么它不工作没有了..
  • 是的,我刚刚对其进行了测试,它工作得非常好..如果您看到上面的答案..您提供的命令正在执行第 3 步。所以它只会发布未签名的 apk .. 我想知道它如何在没有 jarsigner 和 zip align 工具的情况下生成签名的 apk
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
  • 2016-08-28
  • 2017-03-08
  • 2019-06-21
相关资源
最近更新 更多