2015-10-28 2 views
2

Я добавил этот код в свой модуль build.gradle: приложение в разделе android {}.Gradle build сгенерированная переменная вместо строкового значения

buildTypes.each 
    it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', "f4a8ad01f485a8276a6dbc4d364b" 
} 

Но это вызывает ошибки

Error:(14, 57) error: cannot find symbol variable f4a8ad01f485a8276a6dbc4d364b

Значение OPEN_WEATHER_API_KEY не генерируется внутри ""

public final class BuildConfig { 
    public static final boolean DEBUG = Boolean.parseBoolean("true"); 
    public static final String APPLICATION_ID ="com.example.weatherforecast"; 
    public static final String BUILD_TYPE = "debug"; 
    public static final String FLAVOR = ""; 
    public static final int VERSION_CODE = 1; 
    public static final String VERSION_NAME = "1.0"; 
    // Fields from build type: debug 
    public static final String OPEN_WEATHER_MAP_API_KEY = f4a8ad01f485a8276a6dbc4d364b; 
} 

В классе FetchWeatherTask.java У меня есть эта строка кода, и не обнаруживает ошибок.

private final String APP_ID = BuildConfig.OPEN_WEATHER_MAP_API_KEY; 

Почему в BuildConfig.java OPEN_WEATHER_API_KEY значение оно генерируется в виде переменной вместо строкового значения?

ответ

10

Вам нужно процитировать:

it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', '"f4a8ad01f485a8276a6dbc4d364b"'