Android 来自谷歌游戏控制台的安全警报?
我已经在Play Store上实现了google登录并发布了应用程序。但在play store上发布应用程序后,Google登录不起作用,我找到了这个问题的解决方案,即从play控制台复制SHA-1密钥,并用它替换Google Api SHA-1密钥。 之后,应用程序工作正常,但出现上述安全警报消息 完整警报消息:Android 来自谷歌游戏控制台的安全警报?,android,google-play-services,google-login,Android,Google Play Services,Google Login,我已经在Play Store上实现了google登录并发布了应用程序。但在play store上发布应用程序后,Google登录不起作用,我找到了这个问题的解决方案,即从play控制台复制SHA-1密钥,并用它替换Google Api SHA-1密钥。 之后,应用程序工作正常,但出现上述安全警报消息 完整警报消息: Security alert Your app contains exposed Google Cloud Platform (GCP) API keys. Please see
Security alert
Your app contains exposed Google Cloud Platform (GCP) API keys. Please see this Google Help Center
article for details.
Vulnerable locations:
com.asdf.zxcv.AbcActivity-><init>
安全警报
您的应用程序包含公开的谷歌云平台(GCP)API密钥。请查看此谷歌帮助中心
详细信息请参阅文章。
脆弱地点:
com.asdf.zxcv.abcacivity->
我试图解决这个警告,因为过去2天,但我不能。
谁能帮我解决这个问题。
提前感谢。问题在于如何在代码中声明和使用API密钥。 不建议将其用作Java代码中硬编码的纯文本,但是可以将其存储在
strings.xml
参考资料中
假设您以这种方式存储:
<string name="api_key">Your key</string>
不能在活动代码中硬编码键字符串。您必须将其放入strings.xml文件中,并使用get getResources()在代码中引用它。我正在努力做到这一点。非常感谢你。它现在可以正常工作了。我把它作为答案,这样你们就可以接受它了。我不明白它比直接在java/kotlin代码中使用字符串更安全。
context.getResources().getString(R.string.api_key)