Skip to content

Commit c7f89a5

Browse files
committed
ci: setup Java before sdkmanager; tolerate license Broken pipe; set --sdk_root
1 parent 052ec2b commit c7f89a5

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

.github/workflows/android-ci.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ jobs:
1616
- name: Ensure Gradle wrapper is executable
1717
run: chmod +x ./gradlew
1818

19+
- name: Setup JDK 17
20+
uses: actions/setup-java@v4
21+
with:
22+
distribution: 'temurin'
23+
java-version: '17'
24+
1925
- name: Setup Android SDK (API 35)
2026
shell: bash
2127
run: |
@@ -32,16 +38,11 @@ jobs:
3238
# Ensure sdkmanager is available in this step by exporting PATH locally
3339
export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools:$PATH"
3440
# Accept licenses and install required SDK components using absolute sdkmanager path
35-
yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses
36-
"$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" "platform-tools" "platforms;android-35" "build-tools;35.0.0"
41+
# The 'yes' process may get a SIGPIPE when sdkmanager closes stdin; tolerate it.
42+
yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses --sdk_root="$ANDROID_SDK_ROOT" > /dev/null || true
43+
"$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$ANDROID_SDK_ROOT" "platform-tools" "platforms;android-35" "build-tools;35.0.0"
3744
echo "sdk.dir=$ANDROID_SDK_ROOT" > local.properties
3845
39-
- name: Setup JDK 17
40-
uses: actions/setup-java@v4
41-
with:
42-
distribution: 'temurin'
43-
java-version: '17'
44-
4546
- name: Cache Gradle
4647
uses: actions/cache@v4
4748
with:

0 commit comments

Comments
 (0)