EAS Submit for Google Play

EAS Submit 6,418 uploads a build to Google Play 1 from the command line, the job Play Console Submission did in the Play Console 1 . It needs a Play developer account, the app created in the Play Console, an Expo 6,418 account, and a Google service account key: a JSON key for a Google Cloud 1 service account that you invite to the Play Console with permission to release. Store it with eas credentials --platform android or point to it from the submit profile that EAS Build left empty:

eas.json (excerpt): BookNest's Android submit profileJSON
  "submit": {
    "production": {
      "android": {
        "serviceAccountKeyPath": "./secrets/play-service-account.json",
        "track": "internal",
        "releaseStatus": "draft"
      }
    }
  }

track takes internal, alpha (closed testing), beta (open testing) or production. draft uploads the bundle and leaves the release to you in the console; completed releases it, and inProgress with "rollout": 0.1 starts a staged rollout to 10% of users. The key is a password to your Play account, so add secrets/ to .gitignore. The commands, from Expo's documentation (not run here, since they need both accounts):

Submitting BookNest to Google Play with EAS (not run here)Shell
eas build --platform android --profile production --auto-submit    # build on EAS, then submit
eas submit --platform android --path android/app/build/outputs/bundle/release/app-release.aab

--path uploads a local bundle such as Publishing BookNest's; --latest takes the newest EAS 6,418 build. Older guides say the first upload must be made by hand, but Expo's documentation now calls that optional: eas submit can create the first release, on the internal track by default.