exr*_*zzo 11 android google-maps facebook-login google-play android-keystore
我使用Android Studio创建了一个已签名的APK,我添加到Google Developer控制台和Facebook控制我的SHA1指纹和我的应用程序中的相对api键.如果我通过usb上传我签名的apk,一切都运行良好,安装后地图api和facebook api运行良好.如果我将相同的apk上传到Play商店,当我尝试使用Facebook登录时,它会显示"无效的密钥哈希.密钥哈希blablabla与任何存储的都不匹配".因此,如果我没有Facebook登录,我甚至无法得到我的谷歌地图; 这让我认为在Play商店中加载的apk会改变他的指纹或类似的东西.我检查了Android开发者和Stackoverflow上的所有内容,但是我无法使其工作,因为很有意思的是这个签名版本的apk工作正常,直到我在Play商店加载它.
And*_*per 25
以下是您无法看到Google地图的答案.
我最近在Google Play商店上传了APK,在查看Play控制台后我遇到了同样的问题我找到了解决此问题的方法.
他们的钥匙没问题,但问题在于你的SHA-1.你用你的SHA-1签署你的APK很好,然后上传APK也没关系.
但是,根据Play控制台的新更新,当您使用SHA-1签署APK并上传APK时,它仅由您签名,但根据新的更新,它也会由Google Play签名以获得更高的安全性.看一下Google Play部分的部分内容:
使用Google Play应用程序签名:您使用上传密钥对应用进行签名.然后,Google会验证并删除上传密钥签名.最后,Google会使用您提供的原始应用签名密钥重新签名该应用,并将您的应用交付给用户.
现在,您的问题的答案是在成功上传APK之后,您可以看到在第2个SHA-1部分中,第一个SHA-1是Google自己创建的,第二个SHA-1是您自己的.
因此,只需复制Google SHA-1并将其粘贴到生成Google Map API密钥的控制台即可.
yme*_*ene 23
借助@Andy Developer的灵感,我可以在将我的应用程序上传到Google Play后显示地图.这些是步骤:
我终于解决了,问题可能是api提供的文件google_maps_api.xml没有在release中加载,所以我
我确实喜欢这样:
buildTypes {
debug {
manifestPlaceholders = [mapsKey: "AIzaSyB8o9KzQ5YN8U8AFS************"]
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
manifestPlaceholders = [mapsKey: "AIzaSyApLacqgkdIR7uEpcf*****************"]
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的 AndroidManifest 中
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="${mapsKey}" />
Run Code Online (Sandbox Code Playgroud)
参考:https ://stackoverflow.com/a/33917692/3235560
然后我注册了两个不同的密钥,每个密钥都有正确的 sha1 指纹,一个是调试密钥,另一个是 Google Play 控制台提供的密钥(不是上传证书,而是 Google 生成的另一个密钥)。
非常非常感谢 Zuhad 和 Andy Developer 的灵感。
| 归档时间: |
|
| 查看次数: |
9398 次 |
| 最近记录: |