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 |
|
| QR code | qr_flutter + mobile_scanner |
|
||||||
| Build APK | Docker (headless) |
|
| 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
|
## Requisiti host
|
||||||
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
|
|
||||||
|
|
||||||
- **Linux x86_64** (Ubuntu/Debian o simili; funziona anche su **WSL2** se il kernel espone `/dev/kvm`)
|
- **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:
|
- **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 —
|
> **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.
|
> 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
|
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
|
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
|
└── 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
|
## Documentazione
|
||||||
|
|
||||||
- [Guida utente](docs/guida-utente.md)
|
- [Guida utente](docs/guida-utente.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user