From fd6f5bca830161f61b0066defce08568ce85e20b Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Wed, 15 Jul 2026 07:50:40 +0800 Subject: [PATCH] [Fix] (Retrace): rely on APK signing for bundled ANGLE --- .github/workflows/apk.yml | 67 --------------------------------------- 1 file changed, 67 deletions(-) diff --git a/.github/workflows/apk.yml b/.github/workflows/apk.yml index 047eeaec..cb9e7c7c 100644 --- a/.github/workflows/apk.yml +++ b/.github/workflows/apk.yml @@ -124,73 +124,6 @@ jobs: SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} - - name: Verify trace ANGLE packaging - run: | - expected=( - lib/x86_64/libEGL_angle_ec889e6ea831.so - lib/x86_64/libGLESv2_angle_ec889e6ea831.so - lib/x86_64/libEGL_angle_90a62123d794.so - lib/x86_64/libGLESv2_angle_90a62123d794.so - ) - trace_markers=( - MOBILEGL_TRACE_ANGLE_VARIANT - ec889e6ea831 - 90a62123d794 - 'Rejected trace ANGLE variant' - 'Loaded signed trace ANGLE library' - ) - mapfile -t trace_apks < <(find android-plugin/app/build/outputs/apk -name 'MobileGL-*Trace-release.apk' | sort) - mapfile -t plugin_apks < <(find android-plugin/app/build/outputs/apk -name 'MobileGL-*Plugin-release.apk' | sort) - test "${#trace_apks[@]}" -eq 2 - test "${#plugin_apks[@]}" -eq 2 - - extract_dir="${RUNNER_TEMP}/mobilegl-packaged-angle" - rm -rf "${extract_dir}" - mkdir -p "${extract_dir}" - for apk in "${trace_apks[@]}"; do - entries="$(unzip -Z1 "${apk}")" - packaged_angle_count="$(printf '%s\n' "${entries}" | grep -Ec 'lib/[^/]+/lib(EGL|GLESv2)_angle(_[0-9a-f]+)?\.so$')" - test "${packaged_angle_count}" -eq 4 - for entry in "${expected[@]}"; do - printf '%s\n' "${entries}" | grep -Fx "${entry}" - extracted="${extract_dir}/$(basename "${apk}")-$(basename "${entry}")" - unzip -p "${apk}" "${entry}" > "${extracted}" - test "$(patchelf --print-soname "${extracted}")" = "$(basename "${entry}")" - done - if printf '%s\n' "${entries}" | grep -Eq 'lib/[^/]+/lib(EGL|GLESv2)_angle\.so$'; then - echo "Unsuffixed ANGLE library found in ${apk}" >&2 - exit 1 - fi - mapfile -t mobilegl_entries < <(printf '%s\n' "${entries}" | grep -E '^lib/[^/]+/libMobileGL\.so$') - test "${#mobilegl_entries[@]}" -eq 2 - for entry in "${mobilegl_entries[@]}"; do - extracted="${extract_dir}/$(basename "${apk}")-${entry//\//-}" - unzip -p "${apk}" "${entry}" > "${extracted}" - for marker in "${trace_markers[@]}"; do - grep -aFq "${marker}" "${extracted}" - done - done - done - for apk in "${plugin_apks[@]}"; do - entries="$(unzip -Z1 "${apk}")" - if printf '%s\n' "${entries}" | grep -Eq 'lib/[^/]+/lib(EGL|GLESv2)_angle(_[0-9a-f]+)?\.so$'; then - echo "ANGLE library found in plugin APK ${apk}" >&2 - exit 1 - fi - mapfile -t mobilegl_entries < <(printf '%s\n' "${entries}" | grep -E '^lib/[^/]+/libMobileGL\.so$') - test "${#mobilegl_entries[@]}" -ge 1 - for entry in "${mobilegl_entries[@]}"; do - extracted="${extract_dir}/$(basename "${apk}")-${entry//\//-}" - unzip -p "${apk}" "${entry}" > "${extracted}" - for marker in "${trace_markers[@]}"; do - if grep -aFq "${marker}" "${extracted}"; then - echo "Trace ANGLE marker '${marker}' found in plugin APK ${apk}" >&2 - exit 1 - fi - done - done - done - - name: Show ccache stats if: always() run: ccache --show-stats