我有一些秘密密钥,我想存储在一个文件中,在环境变量中定义路径,然后在build.gradle中获取其中的值。
我有一个文件 - 有些键,有2个3键值对 - (键1 - 值1)(键2 - 值2)(键3 - 值3)
我将在系统变量中定义文件的路径。 SOME_KEY及其路径。
我使用-System.getenv(“SOME_KEY”)获取gradle中的文件
现在我有文件如何从文件内的键中提取值。
然后将它传递给构建(发布和调试)类型键,如下所示 -
resValue "string", "fc_app_id", "getting the key from the file in environment variable".
如果你真的想加载你自己的文件,我推荐documentation around properties和this other question。
这可以通过将您的密钥添加到gradle.properties
文件来完成。
该文件可以在主目录的.gradle
目录中找到。如果文件不存在,您可能必须创建该文件。
只需将密钥作为键值对添加到gradle.properties文件中,如下所示。
SECRET_KEY="my-super-secret-key123"
在模块级build.gradle文件中,将密钥添加为buildConfigField,如果要在xml或app代码中使用密钥,请将密钥添加为resValue。
buildTypes {
debug {
buildConfigField 'String', "SecretKey", SECRET_KEY
resValue 'string', "secret_key", SECRET_KEY
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'String', "SecretKey", SECRET_KEY
resValue 'string', "secret_key", SECRET_KEY
}
}
可以访问此代码,如下所示:
String apiKey = BuildConfig.ApiKey;