在仔细研究了这个问题之后,我们还没有找到适合我们情况的有效解决方案。
我们在应用中使用外部SDK和API的API密钥。
This link表示将您的密钥绑定到签名证书。如果您拥有自己的SDK或API,这是很棒的,但对于您必须提供指定密钥作为参数的外部元素,这不是一个选项。
以下链接不适用于我们的情况。 Implementing (secure) Api Keys in an app
此外,我们花了三天时间尝试不同的配置以及ProGuard UI试图使用ProGuard模糊我们的代码而没有成功。
我们还实现了AndroidManifest.xml键引用,但它们在生成的config.java类中清晰可见。因此,这也不是一个可行的解决方案。
确保源代码安全是次要优先事项。我们主要关心的是API密钥的安全性。
任何人都可以提供可能的解决方案吗?当我们无法让ProGuard使用简单的项目时,DexGuard产品是否是真正的解决方案?
答案 0 :(得分:0)
您始终可以使用firebase远程配置
这样您也可以在不需要升级的情况下更改密钥
答案 1 :(得分:0)
提及: 请勿将机密数据存储在Remote Config参数键或参数值中。可以解码存储在项目的远程配置设置中的任何参数键或值。
因此,它不是存储API密钥的好机制