в соответствии с рекомендациями, рекомендуется хранить все учетные данные в gradle.properties
следующим образом:
KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789
GOOGLE_MAP_KEY=API_KEY_HERE
Этот файл автоматически импортируется Gradle, поэтому вы можете использовать его следующим образом:
signingConfigs {
release {
try {
storeFile file("myapp.keystore")
storePassword KEYSTORE_PASSWORD
keyAlias "thekey"
keyPassword KEY_PASSWORD
}
catch (ex) {
throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.")
}
}
}
Чтобы использовать gradle.properties
внутри класса, вы можете сослаться на это:
android {
...
defaultConfig {
...
// defining the google map key
buildConfigField "String", "GOOGLE_MAP_KEY", MAP_KEY
}
}
Это будет сгенерировано в <package_name>.BuildConfig.java
и будет содержать следующие поля:
public class BuildConfig {
// ... other generated fields ...
public static final String GOOGLE_MAP_KEY = "API_KEY";
}
Теперь вы можете напрямую использовать GOOGLE_MAP_KEY, вызывая BuildConfig.GOOGLE_MAP_KEY
в любом классе.
Для обеспечения безопасности всех ваших учетных данных не фиксируйте gradle.properties в своих репозиториях контроля версийкак Github и т. д.