Terrain 11 — Builds & commandes
10 drills · ~10 min · Chapitres liés : Parties 11-12 (répondez par LA commande exacte)
1. Metro se comporte bizarrement (module fantôme). La commande ?
✅
npx expo start -c — le cache Metro, premier réflexe de tout diagnostic.
2. Ajouter TanStack Query (JS pur) vs ajouter expo-camera (natif) : les commandes, et la suite obligée pour le second ?
✅
pnpm add @tanstack/react-query (JS pur OK) · npx expo install expo-camera (version
alignée SDK) → rebuild du dev build (le conteneur a changé).
3. L’APK de prod perso, sur votre machine, sans quota ?
✅
eas build --profile preview --platform android --local (pipeline EAS + keystore EAS,
exécuté localement).
4. Installer cet APK par-dessus l’existant sans perdre les données ?
✅
adb install -r .\build-*.apk — même signature + versionCode ≥ requis (le sandbox
survit ; une DÉSinstallation, elle, efface tout).
5. Metro par câble USB (WiFi hostile) ?
✅
adb reverse tcp:8081 tcp:8081 (téléphone en débogage USB).
6. Pousser un fix JS à toutes les installations, et le compagnon si Sentry ?
✅
eas update --channel preview -m "fix: …" puis
npx sentry-expo-upload-sourcemaps dist.
7. Que passe une OTA, que ne passe-t-elle JAMAIS ? (les deux listes en bref)
✅
Passe : tout le JS/TS + assets bundlés. Jamais : modules natifs, app.config natif (icône, permissions, scheme), montée de SDK → bump version + rebuild + réinstall (runtimeVersion garde la frontière).
8. Inspecter ce que les config plugins écrivent dans le manifest ?
✅
npx expo prebuild --platform android puis lire
android/app/src/main/AndroidManifest.xml (et --clean pour régénérer de zéro — jamais
d’édition manuelle : CNG).
9. Remettre l’app à zéro (données, permissions) pour re-tester un flux ?
✅
adb shell pm clear com.alex.drill.
10. Vérifier QUI a signé un APK ?
✅
keytool -printcert -jarfile app.apk → comparer le SHA-1 au keystore de référence
(signatures ≠ → INSTALL_FAILED_UPDATE_INCOMPATIBLE).
👉 Terrain suivant : 12 — Diagnostic éclair