Intereting Posts

Как установить переменную среды в Android Studio, прежде чем она запустит мою структуру градиента

Моя сборка Gradle рассматривает переменную окружения BUILD_NUMBER, чтобы определить версию для моего приложения для Android следующим образом:

def buildNumber = System.getenv("BUILD_NUMBER") ?: "local" 

До тех пор, пока эта переменная среды установлена, номер сборки используется в defaultConfig следующим образом:

 versionName "1.4.0."+buildNumber 

Обычно Jenkins называет это Gradle build и снабжает переменную окружения BUILD_NUMBER.

Если я запустил сборку Gradle из командной строки, я знаю, что могу установить BUILD_NUMBER = x.

Однако, если я создаю с помощью Android Studio, как мне установить переменную среды BUILD_NUMBER через Android Studio?

Solutions Collecting From Web of "Как установить переменную среды в Android Studio, прежде чем она запустит мою структуру градиента"

Один из вариантов – использовать свойства градиента, которые могут быть переопределены переменными окружения. Вы можете прочитать об этом здесь .

Если имя переменной среды выглядит как ORG_GRADLE_PROJECT _ prop = somevalue, тогда Gradle установит свойство prop на объект проекта со значением somevalue.

Это означает, что вы можете

  1. Установите BUILD_NUMBER=42 в ваш .properties файл (проект или глобальный), как вы обычно делали,
  2. И в вашем CI вы бы ORG_GRADLE_PROJECT_BUILD_NUMBER переменную окружения ORG_GRADLE_PROJECT_BUILD_NUMBER , переписав или установив BUILD_NUMBER в вашей сборке CI.

Примечание. Используйте gradle.properties в корневом каталоге проекта и не изменяйте local.properties .

Я закончил использование следующего в моем build.gradle:

 def buildNumber = System.getenv("BUILD_NUMBER") if (buildNumber == null) { Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) buildNumber = properties.getProperty('buildNumber')?:"NoBuildNumberFound" } 

Поскольку файл local.properties не должен быть привязан к репозиторию исходного кода, каждый разработчик управляет своей собственной копией.

Поэтому, если они хотят установить buildNumber на своем локальном Android Studio, они просто добавят следующее к своим local.properties:

 buildNumber=7 

Таким образом, на локальной машине разработчиков номер сборки будет установлен в том, что когда-либо они помещают в свой файл local.properties, но на нашем сервере Jenkins будет использоваться переменная среды BUILD_NUMBER

Наш сервер Jenkins устанавливает переменную окружения BUILD_NUMBER

Это просто переменные среды.

Если под Windows перейдите на панель управления ОС и введите «окружение» в поле поиска в правом верхнем углу. Затем нажмите «Редактировать переменные среды для вашей учетной записи», очень удобные для пользователя и не требующие прав администратора. Перезапустите Android Studio после редактирования.

Если под Linux, отредактируйте .bashrc в своей домашней папке ( vi ~/.bashrc или с каким-то другим редактором). Здесь могут быть установлены переменные среды. source ~/.bashrc (или выйти / войти в систему) и перезапустить Android Studio после редактирования.