SDK 目录“/Users/username/Library/Android/sdk”不存在
The SDK directory '/Users/username/Library/Android/sdk' does not exist
我是 运行 Azure Pipeline build for react native app,我在其中使用 gradle 进行 android build 并收到此错误:
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 而不是 ANDROID_HOME=/Users/username/Library/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'
这不起作用,如果需要更多详细信息,请在评论中询问。
它在 local.properties 文件中更改后有效:
sdk.dir=/Users/username/Library/Android/sdk
至:
sdk.dir=/Users/runner/Library/Android/sdk
虽然您自己的回答是正确的,但不建议将 local.properties 文件提交到版本控制。该文件将比 ANDROID_HOME 环境变量具有更高的优先级。
我是 运行 Azure Pipeline build for react native app,我在其中使用 gradle 进行 android build 并收到此错误:
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 而不是 ANDROID_HOME=/Users/username/Library/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'
这不起作用,如果需要更多详细信息,请在评论中询问。
它在 local.properties 文件中更改后有效:
sdk.dir=/Users/username/Library/Android/sdk
至:
sdk.dir=/Users/runner/Library/Android/sdk
虽然您自己的回答是正确的,但不建议将 local.properties 文件提交到版本控制。该文件将比 ANDROID_HOME 环境变量具有更高的优先级。