Skip to content

app: Android build pipeline + Google Play submission #654

@nadavosa

Description

@nadavosa

Context

Sub-issue of #535. Depends on #649, #650. Gets the app into Google Play internal testing and then published.

Prerequisites

  • Google Play Console account ($25 one-time fee) — under the need4deed organisation
  • Android Studio installed
  • Java keystore for signing

One-time setup

Signing keystore

```bash
keytool -genkey -v -keystore need4deed.keystore
-alias need4deed -keyalg RSA -keysize 2048 -validity 10000
```
Store need4deed.keystore securely (not in git). Add passphrase to GitHub Secrets.

android/app/build.gradle — signing config

```groovy
android {
signingConfigs {
release {
storeFile file(System.getenv("KEYSTORE_PATH"))
storePassword System.getenv("KEYSTORE_PASSWORD")
keyAlias "need4deed"
keyPassword System.getenv("KEY_PASSWORD")
}
}
buildTypes {
release { signingConfig signingConfigs.release }
}
}
```

Build AAB (Android App Bundle — required for Play Store)

```bash
next build
npx cap sync android
cd android
./gradlew bundleRelease

Output: android/app/build/outputs/bundle/release/app-release.aab

```

Google Play Console setup

  • Create app: "Need4Deed", default language German + English
  • Fill store listing: description, screenshots (phone + 7" tablet), feature graphic (1024×500)
  • Set content rating (questionnaire)
  • Privacy policy URL
  • Upload AAB to Internal Testing track
  • Share internal testing link with the team

Play Store metadata

  • Short description (80 chars): "Connecting volunteers with refugee accommodation centers in Berlin"
  • Full description (en + de)
  • Category: Social / Tools
  • Screenshots: at least 2 phone screenshots

Tasks

  • Google Play Console account + app created
  • Signing keystore generated and stored securely
  • build.gradle signing config wired up
  • First AAB uploaded to Internal Testing
  • Store listing complete (description, screenshots, ratings)
  • Promoted to Production after internal testing passes

Depends on

#649 (Capacitor), #650 (icons + splash)

Metadata

Metadata

Assignees

No one assigned

    Labels

    choreRoutine task

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions