关于签署 android 应用程序的困惑

Confusion about signing android app

我即将发布我的第一个 android 应用程序。 为此,我必须签署我的应用程序。我按照此处描述的步骤( http://developer.android.com/tools/publishing/app-signing.html )进行操作 "Signing Your App in Android Studio"。 最后它说,我收到了一个签名的.apk 在 "Signing in Release Mode" 点下它还说,我必须编辑我的 gradle 文件,如图所示。

第一个问题:我必须两者都做吗?那么我是否必须将通过其他方式获得的密钥库和密钥放入 gradle 文件中,还是只是另一种方式?

第二个问题:"Automatically Signing Your App"点下描述了另一种签名方式。我是否理解正确,当我按照那里描述的步骤进行操作时,将我使用其他工具获得的 keystore/key 放入,Android Studio 会在我每次构建项目时自动生成更新的 .apk,并且否则当不使用这个工具时,我每次都必须手动重新执行 "Signing Your App in Android Studio" 的步骤? 如果是这样,它会将更新后的 .apk 保存在哪里,因为我无法指定输出目录,并且已经有了我的第一个 signed.apk

第三个问题:由于我确实得到了签名的 .apk,我实际上必须为 Google 地图和 GCM 输入新的 Api 密钥。但是当这样做,并尝试通过 USB 在我的 phone 上安装应用程序时,出现异常,我使用了错误的 API 密钥,但是当我使用旧的 API 密钥时,我获得了调试证书,一切正常。所以看起来 Android Studio 安装了 debug.apk,尽管我签署了该应用程序。

我想我对你的第二个问题有意见。 如果您已按时将应用构建为 APK,则只需单击构建 APK。 (先编辑Gradle中的版本) Thennit 刚刚为您制作了一个更新的 ApK。

第一个问题:你只需要 Signing Your App in Android Studio 部分来签署你的 apk。

第二个问题:我所做的是保持原样,生成签名的 apk 我去:构建 > 生成签名的 apk,为了测试我保留调试模式。为了在设计上测试签名的 apk,我使用终端安装它:./adb install mysigned.apk

第三个问题: 要让您的 Api 在签名模式下工作,您需要根据您的 apk 创建的密钥生成一个新的 SHA-1 certificate fingerprint .jks file 从 Android 工作室终端执行此操作:

keytool -list -v -keystore /Users/username/Desktop/app_key.jks

/Users/username/Desktop/app_key.jks 是您的密钥的路径

更新:

终端示例