【发布时间】:2015-10-14 19:31:59
【问题描述】:
我在我的应用程序中使用API。我目前从 java 接口管理 API 密钥
public interface APIContract {
//The API KEY MUST NOT BE PUBLISH. It is possible to generate a new one for free from www.themoviedb.org
//Remove before commit !!!
String API_KEY = "abcdefghijklmnopqrstuvwxyz";
/...
}
这可以完成工作。我可以使用APIContract.API_KEY 访问密钥,但正如您在评论中看到的那样,如果我使用 git 和公共存储库(我不打算发布此密钥),这是不安全的。
所以这是我的问题:是否可以将此密钥移动到另一个我可以从我的应用程序轻松访问但不会提交的地方?
我发现这个 thread 使用 gradle 来存储密钥,但我需要提交 build.gradle 文件,所以它不能完成这项工作。
有人知道如何解决这个问题吗?我在 stackoverflow 中没有发现类似的问题,但也许我错过了一些东西
编辑
我喜欢将密钥移到任何 Java 代码之外的想法,因为其他人(可能是非技术人员)可以轻松管理自己的密钥。我正在考虑使用像 settings.gradle 这样的 gradle 文件。
【问题讨论】:
-
如果你放在一个单独的(静态)类中,去掉key,提交,添加key,在类上加上“不跟踪”怎么办?
-
当然,但外部人员管理他们的密钥会很棘手(见编辑)。我正在考虑一些真正可访问且易于修改的东西(例如在根目录中)
-
为什么会很棘手?他们只需添加一次该密钥即可。
标签: android android-gradle-plugin