Skip to content

Android local dev build cache upload succeeds but --dev-client lookup misses #4373

Description

@xidsyed

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

  1. Create an Expo Android project with expo-dev-client.

  2. Configure the EAS build cache provider.

  3. Run expo run:android using a debug/development build.

  4. Allow the local build cache provider to upload the generated APK.

  5. Run the same command again with the unchanged project.

  6. Observe that the provider searches with:

    eas build:download --platform=android --fingerprint=<fingerprint> --dev-client

  7. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs reviewIssue is ready to be reviewed by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions