This directory holds the app's Dart source (lib/), the Android manifest, and
signing templates. The platform folders (android/, ios/) are generated,
not committed in full — regenerate them once, then keep lib/ under version
control.
cd mobile
# generate android/ + ios/ platform scaffolding around this project:
flutter create --org com.sufyanwithcode --project-name sufyanwithcode_ai .
flutter pub getflutter create will NOT overwrite lib/, pubspec.yaml, or the manifest.
After it runs:
- Confirm
android/app/src/main/AndroidManifest.xmlmatches the one here (permissions +<queries>for speech). - Merge
android/app/build.gradle.signing-snippetinto the generatedandroid/app/build.gradle.
# Android emulator -> backend on your host machine:
flutter run --dart-define=API_BASE_URL=http://10.0.2.2:8000
# Physical device -> use your machine's LAN IP:
flutter run --dart-define=API_BASE_URL=http://192.168.1.50:8000# 1. Create a keystore (once) and android/key.properties (see key.properties.example)
# 2. Build an App Bundle (Play Store format):
flutter build appbundle --release --dart-define=API_BASE_URL=https://api.yourdomain.com
# output: build/app/outputs/bundle/release/app-release.aabSee ../docs/play-store-listing.md for the full submission checklist.