docs/pages/submit/android.mdx
import { ContentSpotlight } from '/ui/components/ContentSpotlight';
import { Prerequisites, Requirement } from '/ui/components/Prerequisites';
import { Terminal } from '/ui/components/Snippet';
import { Tabs, Tab } from '/ui/components/Tabs';
This guide outlines how to submit your app to the Google Play Store from your computer or from a CI/CD service.
<Terminal cmd={['$ npm install -g eas-cli && eas login']} />
```json app.json
{
"android": {
"package": "com.yourcompany.yourapp"
}
}
```
<Terminal cmd={['$ eas build --platform android --profile production']} />
Alternatively, you can build the app on your own computer with `eas build --platform android --profile production --local` or with Android Studio.
Learn how with the [first submission of an Android app](https://expo.fyi/first-android-submission) guide.
Once you have completed all the prerequisites, you can start the submission process.
Run the following command to submit a build to the Google Play Store:
<Terminal cmd={['$ eas submit --platform android']} />
The command will lead you step by step through the process of submitting the app. You can configure the submission process by adding a submission profile in eas.json. Learn about all the options you can provide in the eas.json reference.
To speed up the submission process, you can use the --auto-submit flag to automatically submit a build after it's built:
<Terminal cmd={['$ eas build --platform android --auto-submit']} />
Learn more about the --auto-submit flag in the automate submissions guide.
<Terminal cmd={['$ npm install -g eas-cli && eas login']} />
```json app.json
{
"android": {
"package": "com.yourcompany.yourapp"
}
}
```
<ContentSpotlight
alt="Uploading the Google Service Account key to EAS dashboard under Service Credentials"
src="/static/images/tutorial/eas/credentials-03.png"
className="max-w-[540px]"
/>
</Tab>
<Tab label="EAS CLI">
You can also upload the JSON key to the EAS dashboard using EAS CLI:
- Run `eas credentials --platform android`
- When prompted **Which build profile do you want to configure?**, select **production**
- When prompted **What do you want to do?**, select **Google Service Account** > **Upload a Google Service Account Key**
- Then add the JSON key file path to the upload the file to EAS dashboard
<ContentSpotlight
alt="Uploading the Google Service Account key to EAS dashboard under Service Credentials"
src="/static/images/tutorial/eas/credentials-03.png"
className="max-w-[540px]"
/>
</Tab>
</Tabs>
<Terminal cmd={['$ eas build --platform android --profile production']} />
Alternatively, you can build the app on your own computer with `eas build --platform android --profile production --local` or with Android Studio.
Learn how with the [first submission of an Android app](https://expo.fyi/first-android-submission) guide.
Once you have completed all the prerequisites, you can set up a CI/CD pipeline to submit your app to the Google Play Store.
You can use EAS Workflows to build and submit your app automatically.
Create a workflow file named .eas/workflows/submit-android.yml at the root of your project.
Inside submit-android.yml, you can use the following workflow to kick off a job that submits an Android app:
on:
push:
branches: ['main']
jobs:
build_android:
name: Build Android app
type: build
params:
platform: android
profile: production
# @info #
submit_android:
name: Submit to Google Play Store
needs: [build_android]
type: submit
params:
profile: production
build_id: ${{ needs.build_android.outputs.build_id }}
# @end #
The workflow above will build the Android app and then submit it to the Google Play Store.
You can use other CI/CD services to submit your app with EAS Submit, like GitHub Actions, GitLab CI, and more by running the following command:
<Terminal cmd={['$ eas submit --platform android --profile production']} />
This command requires a personal access token to authenticate with your Expo account. Once you have one, provide the EXPO_TOKEN environment variable in the CI/CD service, which will allow the eas submit command to run.