docs: riorganizza README con flusso guidato prima-volta/build/lancio
Aggiunge una guida rapida in cima che rimanda a requisiti, installazione, sviluppo e build nell'ordine in cui vanno seguiti, e documenta il fix per i file lasciati di proprietà root da una build Docker precedente. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,19 +38,14 @@ App Android per la gestione della dieta quotidiana — pianificazione pasti, con
|
||||
| QR code | qr_flutter + mobile_scanner |
|
||||
| Build APK | Docker (headless) |
|
||||
|
||||
## Sviluppo
|
||||
## Guida rapida
|
||||
|
||||
Sviluppo locale con Flutter installato sull'host e un emulatore Android dedicato — no Docker.
|
||||
1. **Prima volta**: segui [Requisiti host](#requisiti-host) e [Installazione passo passo](#installazione-passo-passo) per installare Flutter, Android SDK ed emulatore.
|
||||
2. **Sviluppo quotidiano**: vedi [Sviluppo](#sviluppo) per avviare l'emulatore e lanciare l'app con hot reload.
|
||||
3. **Build APK**: vedi [Build APK](#build-apk) per generare `dist/biteplan-debug.apk` o `-release.apk` via Docker.
|
||||
4. **Provare l'APK buildato sull'emulatore** (senza `flutter run`): vedi [Installare e testare l'APK di debug sull'emulatore](#installare-e-testare-lapk-di-debug-sullemulatore).
|
||||
|
||||
```bash
|
||||
emulator -avd biteplan &
|
||||
flutter run
|
||||
# hot reload con "r", hot restart con "R"
|
||||
```
|
||||
|
||||
Vedi [docker/README.md](docker/README.md) per test e build APK via Docker.
|
||||
|
||||
### Requisiti host
|
||||
## Requisiti host
|
||||
|
||||
- **Linux x86_64** (Ubuntu/Debian o simili; funziona anche su **WSL2** se il kernel espone `/dev/kvm`)
|
||||
- **KVM** per l'accelerazione hardware — senza, l'emulatore è inutilizzabile. Verifica con:
|
||||
@@ -116,7 +111,41 @@ flutter run
|
||||
> **Nota WSL2**: serve un kernel con KVM abilitato (WSL2 recenti lo hanno di serie —
|
||||
> verifica con `ls /dev/kvm`). La finestra dell'emulatore compare tramite WSLg.
|
||||
|
||||
### Installare e testare l'APK di debug sull'emulatore
|
||||
## Sviluppo
|
||||
|
||||
Una volta completata l'installazione, il ciclo quotidiano è:
|
||||
|
||||
```bash
|
||||
emulator -avd biteplan &
|
||||
# attendi il boot completo (qualche secondo se l'AVD ha già uno snapshot, 1-2 min altrimenti), poi:
|
||||
flutter run
|
||||
# hot reload con "r", hot restart con "R", "q" per terminare
|
||||
```
|
||||
|
||||
Lancialo da un terminale interattivo (non in background): `r`/`R` leggono da stdin, quindi
|
||||
un processo lanciato senza terminale (es. `nohup ... &`) non risponde all'hot reload.
|
||||
|
||||
> **Permessi dopo una build Docker**: `bash docker/build.sh` (vedi [Build APK](#build-apk))
|
||||
> gira come root nel volume montato. Se dopo una build `flutter run` fallisce con errori di
|
||||
> permessi (es. su `android/local.properties`) o Gradle si lamenta di file in `/root/.pub-cache`,
|
||||
> i file sono rimasti di proprietà di root:
|
||||
> ```bash
|
||||
> sudo chown -R $(whoami):$(whoami) android .dart_tool build
|
||||
> rm -rf .dart_tool build && flutter pub get
|
||||
> ```
|
||||
|
||||
Vedi [docker/README.md](docker/README.md) per test e build APK via Docker.
|
||||
|
||||
## Build APK
|
||||
|
||||
```bash
|
||||
bash docker/build.sh # debug → dist/biteplan-debug.apk
|
||||
bash docker/build.sh --release # release → dist/biteplan-release.apk
|
||||
```
|
||||
|
||||
Vedi [docker/README.md](docker/README.md) per i requisiti della firma release.
|
||||
|
||||
## Installare e testare l'APK di debug sull'emulatore
|
||||
|
||||
Una volta creato l'AVD `biteplan` (vedi sopra), per installare e provare un APK di debug
|
||||
già buildato (es. `dist/biteplan-debug.apk` generato da `bash docker/build.sh`) senza
|
||||
@@ -199,15 +228,6 @@ test/
|
||||
└── update_dialog_test.dart # widget test dialog aggiornamento
|
||||
```
|
||||
|
||||
## Build APK
|
||||
|
||||
```bash
|
||||
bash docker/build.sh # debug → dist/biteplan-debug.apk
|
||||
bash docker/build.sh --release # release → dist/biteplan-release.apk
|
||||
```
|
||||
|
||||
Vedi [docker/README.md](docker/README.md) per i requisiti della firma release.
|
||||
|
||||
## Documentazione
|
||||
|
||||
- [Guida utente](docs/guida-utente.md)
|
||||
|
||||
Reference in New Issue
Block a user