Android 来自谷歌游戏控制台的安全警报?

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

我已经在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 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)