API 键放在哪里?清单中的资源、元数据或静态变量?
Where to put the API key? Resources, Meta-data in Manifest or static variable?
我正在尝试找出将 API 的密钥添加到我的 Android 应用程序中的最佳做法。
-有些人建议在Manifest.xml
文件中使用meta-data
-link。这让我觉得,最好在 resources
文件中添加密钥。
<meta-data android:value="key_value" android:name="api_key"></meta-data>
-有人说,把它加进resources
-link
<string name="api_key">api_key_value</string">
-我们可以在class代码中简单地添加它
api.configue("api_key_value");
-有人说在 Manifest.xml
和 resources
文件中添加密钥将允许其他应用程序读取它 - link.
<string name="foo">bar</string">
我并不想找到最安全的方法,因为对我来说,我会将密钥保存在我的服务器中并在运行时检索它。
我想问的是要遵循的最佳方法和最佳实践。
提前致谢。
我没有跟进问题,因为您似乎已经确定了如何处理 API 密钥(在服务器中)。
一篇关于 API 钥匙在 Android 中可能藏身的好文章:
http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/
在你的例子中,由于你要在运行时从服务器检索密钥,我会遵循 #4: API key Public/private key exchange 来自文章,但它可能很麻烦。
此外,我会考虑 NDK 方法(文章中的#3)。作为客户端方法,它非常简单。
我正在尝试找出将 API 的密钥添加到我的 Android 应用程序中的最佳做法。
-有些人建议在Manifest.xml
文件中使用meta-data
-link。这让我觉得,最好在 resources
文件中添加密钥。
<meta-data android:value="key_value" android:name="api_key"></meta-data>
-有人说,把它加进resources
-link
<string name="api_key">api_key_value</string">
-我们可以在class代码中简单地添加它
api.configue("api_key_value");
-有人说在 Manifest.xml
和 resources
文件中添加密钥将允许其他应用程序读取它 - link.
<string name="foo">bar</string">
我并不想找到最安全的方法,因为对我来说,我会将密钥保存在我的服务器中并在运行时检索它。
我想问的是要遵循的最佳方法和最佳实践。
提前致谢。
我没有跟进问题,因为您似乎已经确定了如何处理 API 密钥(在服务器中)。
一篇关于 API 钥匙在 Android 中可能藏身的好文章: http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/
在你的例子中,由于你要在运行时从服务器检索密钥,我会遵循 #4: API key Public/private key exchange 来自文章,但它可能很麻烦。
此外,我会考虑 NDK 方法(文章中的#3)。作为客户端方法,它非常简单。