Каталог SDK '/ Users / имя пользователя / Library / Android / sdk' не существует - PullRequest
0 голосов
/ 22 апреля 2020

Я работал Azure Конвейерная сборка для собственного приложения, в котором я использую gradle для android сборки, и получил эту ошибку:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> The SDK directory '/Users/username/Library/Android/sdk' does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 34s
Error: The process '/Users/runner/runners/2.166.3/work/1/s/android/gradlew' failed with exit code 1
    at ExecState._setResult (/Users/runner/runners/2.166.3/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/2.163.0/node_modules/azure-pipelines-task-lib/toolrunner.js:816:25)
    at ExecState.CheckComplete (/Users/runner/runners/2.166.3/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/2.163.0/node_modules/azure-pipelines-task-lib/toolrunner.js:799:18)
    at ChildProcess.<anonymous> (/Users/runner/runners/2.166.3/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/2.163.0/node_modules/azure-pipelines-task-lib/toolrunner.js:721:19)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:920:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
##[error]Error: The process '/Users/runner/runners/2.166.3/work/1/s/android/gradlew' failed with exit code 1
Finishing: Gradle

Как мой ANDROID_HOME = / Users / runner / Library / Android / sdk not ANDROID_HOME = / Пользователи / имя пользователя / Библиотека / Android / sdk Я проверил это, запустив скрипт через YAML:

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      echo $ANDROID_HOME

Итак, я хочу знать, что может быть возможной ошибкой для этой ошибки. Я пробовал:

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      echo $ANDROID_HOME
      echo "export ANDROID_HOME=/Users/sitefuel-dev/Library/Android/sdk" >> ~/.bashrc
      echo "export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools" >> ~/.bashrc
      echo $ANDROID_HOME
  displayName: 'Script'

, который не работает, если требуется более подробную информацию, пожалуйста, спросите в комментариях.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2020

Хотя ваш собственный ответ правильный, не рекомендуется фиксировать файл local.properties для контроля версий. Этот файл будет иметь больший приоритет, чем переменная среды ANDROID_HOME.

0 голосов
/ 22 апреля 2020

Работает после изменения в файле local.properties с:

sdk.dir=/Users/username/Library/Android/sdk

на:

sdk.dir=/Users/runner/Library/Android/sdk
...