在Mac或者PC上为Android应用签名

之前说过,Android和iOS有点不一样(幸运的是简单一些)。iOS在开发和产品阶段都需要证书和配置文件。
Android呢,只需要你在测试设备上安装一个‘debug’应用而不要上面那个流程。你只需要在将应用发布到Google Play的时候才需要对应用签名。Android需要你创建一个‘keystore’来对应用进行签名。

对Android应用签名

对Android应用签名简单一些,我之前也说过,如果你只是测试的话你都不用对他进行前(只有在发布到Google Play的时候才需要签名)。给Android应用签名我们需要创建一个keystor文件。
给应用签名需要一个Android SDK自带的工具叫做keytool。如果你的电脑上没有按组航Android SDK的话,请参考这个指引:
http://ionicframework.com/docs/v1/ionic-cli-faq/#android-sdk
设置好Android SDK之后,可以按照如下步骤创建一个keystore文件。

  • 运行如下命令生成一个指定别名alias_name(你应该改一下)的keystore文件
    1. keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
    输入这个命令的时候会提醒你输入密码 — 输入个密码存好并记住。然后会问你一系列的问题,喜欢的话大部分问题你都可以不回答。最后,会问你要一个keystor密码。
    现在你有一个keystore文件了,可以用来给你的应用签名(我们会讨论他的工作原理)。
    重点:为了后面能在应用商店更新你的应用你需要这个keystore文件,以及别名和密码。如果你忘记了其中一个的话,就更新不了。

生成一个Key Hash

如果你使用Facebook功能的话,那么会要求你创建一个Facebook应用,这个在制作CamperChat应用的时候学习过(本书的专家套装里面才有),那么你就需要通过你的keystore文件生成一个Key Hash提供给Facebook for Android。
做这个的话很简单,只需要运行如下命令就可以了:

  1. keytool -exportcert -alias alias_name -keystore my-release-key.keystore | openssl sha1 -binary | openssl base64

确保用你的keystore别名替换alias_name和用你的keystore文件路径替换my-release-key.keystore
一旦完成的话会在终端输出你的Key Hash,然后你就可以简单复制到你的Facebook应用的Android platform setting去。