Android Jetifier CI / CD - PullRequest
       31

Android Jetifier CI / CD

0 голосов
/ 06 июня 2019

Пытаюсь использовать Jetifier в среде CI / CD, специально для меня я использую bitrise, но реальная проблема в том, что я хочу автоматизировать процесс развертывания.До AndroidX это работало нормально, теперь мне нужен способ использовать jetifier для всего приложения через командную строку.Я пошел по кроличьей норе использования exclude, чтобы избавиться от всех мыслимых зависимостей, однако enableJetifier=true ничего не делает, если только вы не строите из Android Studio.Я скучаю по плагину Gradle, который я не нашел за последние 2 недели поиска в Google?Или это нерешенная проблема?

Ответы [ 2 ]

2 голосов
/ 07 июня 2019

Я столкнулся с той же проблемой с Дженкинс / Фастлэйн. Поскольку gradle.properties не должно находиться в хранилище по соображениям безопасности, enableJetifier=true переменная среды не будет видна задаче.

Решение было добавить properties в задание Fastlane:

  desc "Create a release build"
  lane :release do
    remove_apk
    gradle(
        task: "assembleRelease",
        properties: {
            "android.enableJetifier" => "true",
            "android.useAndroidX" => "true"
        }
    )
  end

Я не знаком с bitrise, однако эта ссылка может помочь установить параметры / переменные среды для bitrise.

В целом решения (могут быть и другие, если у кого-то есть дополнительные примечания, просто дайте нам знать!):

  1. Используйте вторичный репозиторий для хранения своих секретов и скопируйте их, например, с помощью шага «Сценарий» (если вы хотите это сделать, убедитесь, что один и тот же ключ SSH можно использовать для обоих репозиториев! 11)

  2. Используйте App Env Vars или Secret Env Vars на bitrise.io 37 - вы можете найти их в Редакторе рабочих процессов (вкладка Workflow вашего приложения на bitrise.io 37). Переменные, которые вы здесь определяете, являются обычными переменными среды, поэтому вы можете использовать их любым способом, например, с шагом сценария, запись в файл.

  3. Используйте функцию универсального хранилища файлов 63 в bitrise.io 37, загрузите свои файлы и загрузите их с помощью загрузчика файлов или загрузчика архива ресурсов ZIP.

Это лишь основные моменты основных решений, конечно, есть и другие возможные способы, если вы более предприимчивы, например сохраните файл, зашифрованный в вашем хранилище, сохраните ключ шифрования в App Env Var или Secret Env Var на bitrise.io 37 и расшифруйте файл во время сборки.

Также проверьте: https://devcenter.bitrise.io/builds/env-vars-secret-env-vars/

0 голосов
/ 07 июля 2019

Для справки, вот что я сделал для включения Jetifier в Bitrise :

  1. Перейдите в редактор Workflow> вкладка подписи кода
  2. Загрузите gradle.properties файл в общее хранилище файлов
  3. Вернитесь в редактор рабочего процесса, вставьте шаг «Загрузчик файлов» перед шагом «Android lint» (или «сборка Android»)
  4. Установите источникзагрузчик файлов на новый файл, который вы только что загрузили на шаге 2
  5. Установите для пункта назначения $PROJECT_LOCATION/gradle.properties
  6. Сохранить
  7. Создайте и наслаждайтесь!
...