BuildConfig не может правильно создавать значения из переменных (Gradle Android)Android

Форум для тех, кто программирует под Android
Anonymous
BuildConfig не может правильно создавать значения из переменных (Gradle Android)

Сообщение Anonymous »

Цель

Создание APK-файлов для различных сред с использованием типов сборки

Подход

Я использую этот пост, чтобы создать свой APK без Android Studio. Все работает, кроме случаев, когда я использую переменные среды в gradle:

Перед сборкой я устанавливаю переменную среды

Код: Выделить всё

export MY_API_TOKEN="ABCDEFGH"
Затем в моем build.gradle:

Код: Выделить всё

buildTypes {

debug {
buildConfigField("String", "MY_API_TOKEN", System.getenv('MY_API_TOKEN'))
}

}
И когда я выполняю: gradle assemble, я получаю эту ошибку:

Код: Выделить всё

/home/apps/app/src/main/java/com/my/package/controller/api/MyAwesomeCode.java:64: error: cannot find symbol
BuildConfig.MY_API_TOKEN;
^
symbol:   variable BuildConfig
location: class RestAPI
/home/apps/app/build/generated/source/buildConfig/debug/com/my/package/BuildConfig.java:14: error: cannot find symbol
public static final String MY_API_TOKEN = ABCDEFGH;
^
symbol:   variable ABCDEFGH
location: class BuildConfig
Я попробовал несколько комбинаций и получаю ту же ошибку:
  • BuildConfig не создается правильно (Gradle Android)
  • Переменная BuildConfig. Ошибка: невозможно найти символ
  • https://medium.com/@rafamatias/gradle-a ... c0e296ee93
  • Gradle: как использовать BuildConfig в библиотеке Android с флагом, который устанавливается в приложении
Я также проверил такое же поведение с переменными

Код: Выделить всё

def MY_API_TOKEN_VAR = "ABCDEFGH"

debug {
buildConfigField "String", "MY_API_TOKEN", MY_API_TOKEN_VAR
}
Ошибка:

Код: Выделить всё

BuildConfig.java:14: error: cannot find symbol
public static final String MY_API_TOKEN = ABCDEFGH;
^
symbol:   variable ABCDEFGH
location: class BuildConfig
Вопрос

buildTypes работает только для жестко запрограммированных значений в build.gradle?< /п>

Подробнее здесь: https://stackoverflow.com/questions/580 ... le-android

Вернуться в «Android»