使用Gradle在属性文件中保存API Key

  很多站点的API都需要使用API key,API key需要保密,在发布代码时,要注意不能把API key也共享了出来。下面给出一种在Android Studio上通过Gradle在属性文件中保存API key的方法。

  首先在build.gradle中的buildTypes下加入:

buildTypes {
    ...
    applicationVariants.all { variant ->
        variant.buildConfigField "String", "API_KEY", "\"" + getApiKey() + "\""
    }
}

加入函数getApiKey():
def getApiKey() {
    def Properties props = new Properties()
    props.load(new FileInputStream(new File('secrets.properties')))
    return props['API_KEY']
}

然后就可以在项目根目录创建secrets.properties文件,在gitignore中排除secrets.properties,把API key以
API_KEY=YOUR_API_KEY

的形式保存在里面。之后可以用
BuildConfig.API_KEY

来获取API key。