Build/Submit details page URL
No response
Summary
When using the EAS build cache with expo run:android, the locally built Android development APK uploads successfully, but subsequent cache lookups using --dev-client cannot find it. The same build is found with --no-dev-client and the identical fingerprint.
Managed or bare?
Bare
Environment
- Expo SDK: 57
- expo: 57.0.20
- eas-cli: 23.2.0
- eas-build-cache-provider: 20.0.0
- Linux
- Bun
- Bare workflow with an android directory
Error output
The upload completes, but the development-client lookup reports:
No builds available for ANDROID with fingerprint hash <redacted>
The same fingerprint succeeds when the lookup uses --no-dev-client.
Reproducible demo or steps to reproduce from a blank project
-
Create an Expo Android project with expo-dev-client.
-
Configure the EAS build cache provider.
-
Run expo run:android using a debug/development build.
-
Allow the local build cache provider to upload the generated APK.
-
Run the same command again with the unchanged project.
-
Observe that the provider searches with:
eas build:download --platform=android --fingerprint=<fingerprint> --dev-client
-
Run the equivalent command with --no-dev-client.
Expected behavior: The APK uploaded from a local Android development build should be found on the next run, or the cache provider should fall back to an exact-fingerprint lookup without the dev-client filter.
Actual behavior: The upload succeeds and creates a finished EAS build, but the --dev-client lookup reports no builds available. The same fingerprint succeeds with --no-dev-client.
Investigation: The uploaded APK does not contain assets/EXDevMenuApp.android.js. EAS CLI uses that archive entry to classify APKs as development clients, so the local debug APK is recorded as a non-development-client build even though it was produced by expo run:android. The current cache provider always applies --dev-client for development workflows, making the uploaded build unreachable through the normal cache lookup.
No project URLs, signed upload URLs, fingerprints, local paths, credentials, or environment-variable output are included.
Build/Submit details page URL
No response
Summary
When using the EAS build cache with
expo run:android, the locally built Android development APK uploads successfully, but subsequent cache lookups using--dev-clientcannot find it. The same build is found with--no-dev-clientand the identical fingerprint.Managed or bare?
Bare
Environment
Error output
The upload completes, but the development-client lookup reports:
The same fingerprint succeeds when the lookup uses
--no-dev-client.Reproducible demo or steps to reproduce from a blank project
Create an Expo Android project with
expo-dev-client.Configure the EAS build cache provider.
Run
expo run:androidusing a debug/development build.Allow the local build cache provider to upload the generated APK.
Run the same command again with the unchanged project.
Observe that the provider searches with:
eas build:download --platform=android --fingerprint=<fingerprint> --dev-clientRun the equivalent command with
--no-dev-client.Expected behavior: The APK uploaded from a local Android development build should be found on the next run, or the cache provider should fall back to an exact-fingerprint lookup without the dev-client filter.
Actual behavior: The upload succeeds and creates a finished EAS build, but the
--dev-clientlookup reports no builds available. The same fingerprint succeeds with--no-dev-client.Investigation: The uploaded APK does not contain
assets/EXDevMenuApp.android.js. EAS CLI uses that archive entry to classify APKs as development clients, so the local debug APK is recorded as a non-development-client build even though it was produced byexpo run:android. The current cache provider always applies--dev-clientfor development workflows, making the uploaded build unreachable through the normal cache lookup.No project URLs, signed upload URLs, fingerprints, local paths, credentials, or environment-variable output are included.