2016-04-22 28 views
0

我即将发布我的第一个Android应用程序。 为此,我必须签署我的应用程序。我遵循了这里描述的步骤(http://developer.android.com/tools/publishing/app-signing.html),在 “在Android Studio中签署您的应用程序”。 最后它说,我收到了一个签名的.apk 在“登录发布模式”这一点上,它也说,我必须编辑我的gradle文件,如图所示。关于签署Android应用程序的困惑

第一个问题:我必须这样做吗?所以我必须将我的密钥库和密钥通过其他方式放到gradle文件中,或者只是另一种方式?

第二个问题:在“自动签名您的应用程序”这一点上描述了另一种签名方式。我是否理解正确,当我按照其中描述的步骤进行操作时,放入通过另一个工具获得的密钥库/密钥,Android Studio会在我每次构建项目时自动生成更新的.apk,否则当不使用此工具时,我将不得不按照“手动在Android Studio中签名您的应用程序”的步骤进行手动操作? 如果是这样,它将在哪里保存更新的.apk,因为我不能指定输出目录,并且已经有我的第一个signed.apk

第三个问题:因为我确实得到了我签名的.apk,所以我实际上必须输入Google地图和GCM的新Api密钥。但是,当这样做,并试图通过USB在我的手机上安装应用程序时,我得到了一个例外,我使用了错误的API密钥,但是当我使用旧的API密钥时,我得到了调试证书,所有工作都正常。所以看起来Android Studio安装了debug.apk,尽管我已经签署了应用程序。

+0

API键是完全无关的应用程序签名。您不必为获得Android应用程序签名而获得证书。可以使用任何自创的证书(与SSL/TLS不同)。 – Robert

回答

1

第一个问题:你只需要Signing Your App in Android Studio部分就可以对你的apk文件进行签名。

第二个问题:我所做的就是保持原样,生成签名的apk我去:Build> Generate signed apk,用于测试我保持调试模式。来测试设计出签署的apk我使用终端安装它:./adb install mysigned.apk

第三题:得到签署模式,你的API的工作,你需要根据你的apk创建密钥.jks file到generats新SHA-1 certificate fingerprint从Android这样做工作室终端:

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

/Users/username/Desktop/app_key.jks是通向你的钥匙

更新:

enter image description here

终端例如

+0

要使用命令./adb install mysigned.apk,必须在哪个目录中? 当我在.apk所在的目录中时,出现一个错误(他不能识别命令“。”,并且当我离开“。/“,他说,他不认识命令”adb“ –

+1

把这个放在终端第一个'cd/Users/MyUserName/Library/Android/sdk/platform-tools' ..用你的'MyUserName'代替 –

+0

好吧,似乎工作,只是说它是一个invalid.apk? –

0

我想我对你的第二个问题有一个疑问。 如果您已经准时将您的应用构建为APK,则只需点击构建APK即可。 (先编辑Gradle版本) Thennit只是为你做了一个更新的Apk。