Build & publish for Android
Do this once per app (customer, seller, rider). You need a Google Play developer account (one-time fee).
1. Create your upload key (once per app)
Section titled “1. Create your upload key (once per app)”- In the app’s
androidfolder:Terminal window cd apps/customer/androidkeytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload - Choose a strong password and answer the questions (your name and company are fine).
2. Tell the build about it
Section titled “2. Tell the build about it”Create android/key.properties next to the keystore:
storePassword=your-store-passwordkeyPassword=your-key-passwordkeyAlias=uploadstoreFile=upload-keystore.jksstoreFile is relative to the android folder (or a full path). The app’s build reads this file
for release builds. Without it, release builds are signed with a debug key — fine for testing,
rejected by Google Play.
3. Set the version
Section titled “3. Set the version”In the app’s pubspec.yaml:
version: 1.0.0+11.0.0 is what users see; +1 is the build number. Increase the build number for every upload
(1.0.0+2, 1.0.1+3 …) — Google Play refuses a number it has seen.
4. Build the app bundle
Section titled “4. Build the app bundle”cd apps/customerflutter build appbundle --releaseThe file is build/app/outputs/bundle/release/app-release.aab.
5. Publish on Google Play
Section titled “5. Publish on Google Play”- Play Console → Create app: name, default language, App, Free, accept the declarations.
- Test and release → Testing → Internal testing → Create new release → upload the
.aab. Google offers Play App Signing — accept it (recommended). - Add yourself as a tester, install from the link, and check sign-in, ordering and notifications.
- Fill in Grow users → Store presence → Main store listing: description, icon (512×512), feature graphic (1024×500), phone screenshots.
- Complete Policy and programs → App content: privacy policy URL (your website’s privacy page), ads, content rating, target audience, Data safety (the apps collect name, phone, email, location and, in the customer app, payment and photos you upload).
- Production → Create new release → upload the same or a newer
.aab→ Review release → Start rollout.
After the first upload
Section titled “After the first upload”- Firebase: add the App signing key SHA-1 and SHA-256 (Play Console → Setup → App signing) to your Android app in Firebase, or phone sign-in fails for Play installs (Firebase for the apps).
- Shared links: use the same App signing SHA-256 for
APP_LINKS_ANDROID_SHA256(Rename & rebrand). - Rider app: it uses location while riders are on a job. Google asks for a short video showing why when you declare location permissions — record the rider accepting and delivering an order.