我正在为我们公司开发一个Android应用程序。 该应用程序拍摄照片并通过电子邮件发送到我们的服务器。
我想使用Gmail API发送照片和数据。在调试模式下,vereything工作正常,我可以验证Api和Gmail帐户。
当我为应用程序制作已签名的apk并在我测试debuf版本的同一部手机上运行时,我无法验证Api和Gmail帐户。
我创建了已签名的apk,但在android studio中选择了Build-> Create signed APK。
我已经找到了一个解决方案,但却无法理解我找到的答案。
我希望通过我们的公司服务器分发应用,而不是通过Google Play。
您是否可以在ann app的发布版本中使用Gmail API而无需通过Google Play进行分发?
亲切的问候 埃里克约翰逊
答案 0 :(得分:0)
可能您没有在Google云控制台中放置您的标志Apk的SHA1密钥。按照this链接创建签名apk的SHA1密钥。并将包名称和SHA1密钥放在google cloud console。
答案 1 :(得分:0)
您需要设置API密钥以使用版本密钥库以及调试密钥库文件。
您需要从密钥库文件中获取SHA1。
您可以在此处查看如何执行此操作: https://developers.google.com/gmail/api/quickstart/android
在终端中,运行以下Keytool实用程序命令以获取将用于启用API的SHA1指纹。
keytool -exportcert -alias androiddebugkey -keystore ~/.android/yourkeystore.keystore -list -v
当要求输入密钥库密码时,请输入您的密码。
您会看到如此结果:
$ keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v
Enter keystore password: Type "android" if using debug.keystore
Alias name: androiddebugkey
Creation date: Dec 4, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 503bd581
Valid from: Mon Aug 27 13:16:01 PDT 2012 until: Wed Aug 20 13:16:01 PDT 2042
Certificate fingerprints:
MD5: 1B:2B:2D:37:E1:CE:06:8B:A0:F0:73:05:3C:A3:63:DD
SHA1: D8:AA:43:97:59:EE:C5:95:26:6A:07:EE:1C:37:8E:F4:F0:C8:05:C8
SHA256: F3:6F:98:51:9A:DF:C3:15:4E:48:4B:0F:91:E3:3C:6A:A0:97:DC:0A:3F:B2:D2:E1:FE:23:57:F5:EB:AC:13:30
Signature algorithm name: SHA1withRSA
Version: 3
复制SHA1键,在本例中为D8:AA:43:97:59:EE:C5:95:26:6A:07:EE:1C:37:8E:F4:F0:C8:05: C8。
将此添加到您的API密钥中,您将会很高兴。您可以在此处链接的Google Developer API控制台中找到此信息: https://console.cloud.google.com/
请注意,API密钥更改可能需要十分钟才能生效,因此如果它不能立即生效,请在10分钟后重试。