Skip to content

๐Ÿค– Building for Android โ€‹

This page walks you through building the Android app, uploading it to Google Play, and getting it published.

1๏ธโƒฃ Step 1: Create Your App on Google Play Console โ€‹

  1. Log in to Google Play Console
  2. Click "Create app"
  3. Fill in the details:
    • ๐Ÿท๏ธ App name: Your restaurant name (e.g., "Mario's Pizza")
    • ๐ŸŒ Default language: Your primary language
    • ๐Ÿ“ฑ App or Game: App
    • ๐Ÿ†“ Free or Paid: Free (the app is free; customers pay for food, not the app)
  4. Check the declarations checkboxes
  5. Click "Create app"

2๏ธโƒฃ Step 2: Build the Production Binary โ€‹

From the packages/mobile directory:

bash
eas build --profile production --platform android

This builds an Android App Bundle (AAB) โ€” the format Google Play requires.

The build takes 10-20 minutes. When complete, EAS provides:

  • ๐Ÿ”— A URL to download the .aab file
  • ๐Ÿ“Š The build appears in your Expo Dashboard

3๏ธโƒฃ Step 3: Upload to Google Play โ€‹

If you configured the Google Play service account in EAS Build Setup:

bash
eas submit --platform android --latest

EAS will upload the latest build directly to Google Play's internal testing track.

๐Ÿ“ค Option B: Manual Upload โ€‹

  1. Download the .aab file from the EAS build URL
  2. In Google Play Console, go to your app โ†’ Testing โ†’ Internal testing
  3. Click "Create new release"
  4. Click "Upload" and select the .aab file
  5. Add release notes (e.g., "Initial release")
  6. Click "Save" then "Review release" then "Start rollout"

4๏ธโƒฃ Step 4: Set Up App Signing โ€‹

Google Play manages the app signing key for you (Play App Signing). This is enabled by default for new apps.

When you upload your first AAB, Google Play Console will show:

  • ๐Ÿ” App signing key: Managed by Google (most secure option)
  • ๐Ÿ”‘ Upload key: The key EAS used to sign the build

๐Ÿ’ก

If prompted to opt in to Play App Signing, always opt in. It means Google securely stores the final signing key, and you only need the upload key (which can be reset if lost).

5๏ธโƒฃ Step 5: Complete the Store Listing โ€‹

Before you can publish, Google requires certain information. Navigate through the left sidebar:

๐Ÿช Main store listing โ€‹

FieldWhat to Enter
๐Ÿท๏ธ App nameYour restaurant name
๐Ÿ“ Short description80 chars max. E.g., "Order food for delivery or pickup from Mario's Pizza"
๐Ÿ“„ Full descriptionDetailed description (see Store Listings for templates)

๐Ÿ–ผ๏ธ Graphics โ€‹

AssetRequired SizeNotes
๐Ÿ“ฑ App icon512 x 512 pxHigh-res version of your app icon
๐Ÿ–ผ๏ธ Feature graphic1024 x 500 pxBanner shown at the top of your listing
๐Ÿ“ธ Phone screenshotsMin 2, max 8At least 2 screenshots from the app
๐Ÿ“ฑ 7-inch tablet screenshotsOptionalIf supportsTablet is enabled
๐Ÿ’ป 10-inch tablet screenshotsOptionalIf supportsTablet is enabled

๐Ÿ“ธ Taking Screenshots

The easiest way to take screenshots is from the Android Emulator:

  1. Run the app in the emulator: npx expo start --android
  2. Navigate to the screen you want to capture
  3. Click the camera icon in the emulator toolbar
  4. Screenshots are saved to your desktop

๐Ÿท๏ธ Content rating โ€‹

  1. Go to Policy โ†’ App content โ†’ Content rating
  2. Click "Start questionnaire"
  3. Select "Utility, Productivity, Communication, or Other" as the category
  4. Answer the questions honestly (a restaurant app will likely receive an "Everyone" rating)
  5. Submit the questionnaire

๐Ÿ”’ Privacy policy โ€‹

Google requires a privacy policy URL. Create a simple privacy policy page on your website that covers:

  • ๐Ÿ“‹ What data you collect (email, name, phone, order history)
  • ๐ŸŽฏ How you use it (processing orders, sending notifications)
  • ๐Ÿ—‘๏ธ How customers can request data deletion

Enter the URL in the Privacy policy field.

๐Ÿ‘ฅ Target audience โ€‹

  1. Go to Policy โ†’ App content โ†’ Target audience and content
  2. Select the appropriate age groups (typically 18+ for a food ordering app)
  3. Confirm the app is not designed for children

๐Ÿ›ก๏ธ Data safety โ€‹

  1. Go to Policy โ†’ App content โ†’ Data safety
  2. Answer the questionnaire about data collection:
    • ๐Ÿ‘ค Account info: Yes (email, name, phone)
    • ๐Ÿ“ Location: No (unless you add location features)
    • ๐Ÿ’ณ Financial info: Only if using Stripe (payment processed by Stripe, not stored by your app)
    • ๐Ÿ“ฑ App activity: Yes (order history)
  3. Submit

6๏ธโƒฃ Step 6: Internal Testing โ€‹

Before going to production, test with internal testers:

  1. Go to Testing โ†’ Internal testing
  2. Click "Testers" tab โ†’ "Create email list"
  3. Add tester email addresses (your own, staff members)
  4. Testers will receive an email with a link to install the app

Verify:

  • [ ] โœ… App installs successfully
  • [ ] ๐Ÿ”‘ Login/register works
  • [ ] ๐Ÿ” Menu loads
  • [ ] ๐Ÿ“ฆ Ordering flow completes
  • [ ] ๐Ÿ”” Push notifications arrive (if configured)

7๏ธโƒฃ Step 7: Promote to Production โ€‹

Once testing is complete:

  1. Go to Testing โ†’ Internal testing
  2. Click "Promote release" โ†’ "Production"
  3. Add release notes
  4. Click "Start rollout to Production"

๐Ÿ‘€ Review Process โ€‹

Google reviews new apps, which typically takes a few hours to 7 days. They check for:

  • โœ… Policy compliance
  • โš™๏ธ App functionality
  • ๐Ÿ“‹ Content accuracy

If rejected, Google provides specific reasons and you can resubmit after fixing the issues.

8๏ธโƒฃ Step 8: Monitor โ€‹

After publishing, monitor your app in Google Play Console:

  • ๐Ÿ“Š Statistics โ€” downloads, active users, ratings
  • โญ Ratings and reviews โ€” respond to customer feedback
  • ๐Ÿ’ฅ Crashes and ANRs โ€” Android vitals show stability issues
  • ๐Ÿงช Pre-launch report โ€” Google automatically tests your app on real devices

๐Ÿ”„ Publishing Updates โ€‹

When you release a new version of KitchenAsty:

bash
# Build new version
eas build --profile production --platform android

# Submit to Google Play
eas submit --platform android --latest

The update goes through the same review process (usually faster for updates).

โžก๏ธ Next Step โ€‹

Continue to Building for iOS or skip to Store Listings for description templates and screenshot guidance.