Android release build fails applying expo-autolinking plugin (expo-constants libraryVariants) — regression from #464

Open
#466 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@spudly is already working on this.

Since Nov 8, 2026.

  • #467 by @spudly — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
android, typescript

Research direction

Start by reviewing PR #464 and the failing Android release AAB log, especially expo-constants/scripts/get-app-config-android.gradle at line 19, where libraryVariants is accessed. Check which Expo and expo-constants versions the release branch uses and whether their Gradle scripts support AGP 9; the issue leaves the choice of fix open. Done means the AAB and Android emulator release jobs pass on the release branch; PR #467 is already open.

Written by the indexing model from the issue text.

Description

blocker bug priority-p1 scale-md

Found at the 1.34.1 release finalization (PR #423, head 91b95c1, run 42401111233, 2026-11-07): the Android release jobs are red on the release branch.

Failing jobs: Build Android release AAB and Android emulator use-case tests (android-gate fails with them). Everything else on the release head is green (ci-gate, all package tests, web e2e, lockfile check).

Error (from the AAB job log):

Script '.../node_modules/expo-constants/scripts/get-app-config-android.gradle' line: 19
* What went wrong:
A problem occurred evaluating project ':expo'.
> Failed to apply plugin 'expo-autolinking'.
   > A problem occurred configuring project ':expo-constants'.
      > Could not get unknown property 'libraryVariants' for object of type com.android.build.gradle.internal.dsl.LibraryExtensionImpl$AgpDecorated.

libraryVariants was removed in AGP 9; the expo-constants Gradle script still references it. This failure mode could not occur before PR #464 (merged 2026-11-07, changeset 697d575): #464 added the expo-autolinking-settings Gradle plugin + use_expo_modules!, so the release build now configures the :expo project graph and evaluates that script. Regular PR CI never runs the Android release jobs (release-only heavy CI), so #464's own CI could not catch it.

Impact: the 1.34.1 release (PR #423) is blocked until this is fixed — held-release labeling applied (PR #423 blocked, this issue blocker).

Fix direction (to be settled by the implementation plan's research): make the Expo module Gradle configuration AGP-9-compatible — e.g. bump the expo/expo-constants package set to a release whose Gradle scripts no longer use libraryVariants, or adjust how the autolinking settings plugin is applied. Whichever route: verify with a release-branch Android build (the AAB + emulator jobs on a PR targeting the release, or a manual dispatch) since ordinary PR CI does not exercise it.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
8h 48m
Merged PRs (30d)
209

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from spudly/eciperay

All issues in spudly/eciperay

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.