Skip to content

EAS Submit: Android submission worker treats .tar.gz archive as APK instead of extracting AAB (bare workflow) #3446

@benknight

Description

@benknight

Description

When using eas build --auto-submit (or eas submit) with buildType: "app-bundle" in a bare workflow project, the EAS submission worker downloads the build artifact archive but passes it directly to fastlane supply with an .apk extension instead of extracting the .aab from inside the archive.

Steps to Reproduce

  1. Bare workflow project with eas.json:
    "android": {
      "buildType": "app-bundle"
    }
  2. Run eas build --platform android --profile production --auto-submit
  3. Build succeeds and produces a valid .aab wrapped in a .tar.gz archive
  4. Submission fails

Submission Worker Logs

The fastlane summary table in the submission logs shows the archive being passed as an APK without extraction:

| apk | /tmp/submissions/<id>/application_<build-id>.tar.gz.apk |

Then immediately fails:

Google Api Error: Invalid request - APKs are not allowed for this application. - Retrying...
[!] Google Api Error: Invalid request - APKs are not allowed for this application.
Fastlane supply failed

The worker is appending .apk to the .tar.gz filename and passing it directly to fastlane, instead of extracting the .aab from within the archive.

Expected Behavior

The submission worker should extract the .aab from the .tar.gz archive and pass it to fastlane as an AAB (aab parameter), not as an APK.

Workaround

Manually download and extract the archive, then submit with --path:

curl -sL "<Application Archive URL>" -o /tmp/android_build.tar.gz
tar -xzf /tmp/android_build.tar.gz -C /tmp/ bundle/release/app-release.aab
eas submit --platform android --profile production --path /tmp/bundle/release/app-release.aab --non-interactive

Environment

  • EAS CLI: 18.0.6
  • Platform: darwin-arm64
  • Node: v22.13.0
  • Workflow: bare (android/ directory present in project)
  • buildType: app-bundle
  • Android directory detected (EAS ignores android.package from app.config.ts in favour of native value)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions