diff --git a/android-client/TESTS.md b/android-client/TESTS.md index f55761a..dce51c2 100644 --- a/android-client/TESTS.md +++ b/android-client/TESTS.md @@ -298,15 +298,45 @@ instantané publié avant ne porte aucun historique. 1. Ligne *Attachment* → flèche de téléchargement → le fichier apparaît dans *Téléchargements* sous son nom, accents et arabe compris. -### M. Empaquetage +### M. Empaquetage — CLOSE le 2026-08-29, apres quatre obstacles -1. `build-apk.ps1 -Release -Keystore ... -Alias ...` → la sortie doit afficher - `Signer #1 certificate DN: CN=R Zakarya`. Si elle affiche `CN=Android Debug`, - la release ne vaut rien. -2. Elle ne s'installe pas d'elle-même, et c'est voulu. -3. Vérifier que la section **Debug** des réglages est **absente** de cette - version. Elle ne peut pas y être — la commande n'est pas compilée — mais - c'est le genre de garantie qu'on regarde une fois plutôt que de la croire. +L'APK signe existe : `CN=R Zakarya, ..., C=DZ`, 12,1 Mo. Ce chemin n'avait +jamais tourne, et il a butte quatre fois — toutes sur des choses que **seule une +release partant d'un terrain vierge pouvait rencontrer**. Le debogage vit sur un +arbre constitue au fil des mois, ou tout cela existait deja. + +1. **Le dossier de mise en scene n'existait pas.** Les trois copies du script s'y + deversent avant l'etape Deploy qui le creuse. Corrige : on le cree d'abord. +2. **Le volume etait plein.** Debug et Release cote a cote ne tiennent pas sur + ce disque ; le `strip` echouait a mi-fichier et empoisonnait tout ce qui + suivait. A surveiller avant chaque release. +3. **aapt refusait cinq doublons a la racine de `res\`**, deposes par le + deploiement de Delphi alors que les vrais sont dans `drawable\`. Corrige : + on les ecarte avant l'appel. +4. **Les ressources generees n'etaient pas mises en place.** Le Build les depose + a plat dans `Android64\\` et le Deploy ne les range dans `res\` + qu'en DEBUG — d'ou `@style/AppTheme` introuvable. Corrige : le script les + range lui-meme, avant les notres pour que notre `colors.xml` garde le dernier + mot. + +**Ce qu'il faut verifier a chaque release :** + +1. La sortie doit afficher `Signer #1 certificate DN: CN=R Zakarya`. Si elle dit + `CN=Android Debug`, la release ne vaut rien. +2. Elle ne s'installe pas d'elle-meme, et c'est voulu : une signature differente + obligerait a desinstaller d'abord, ce qui effacerait le coffre local. +3. La section **Debug** ne doit pas etre atteignable. **Mesure exacte** : la + chaine `DEBUG: local vault dropped` doit etre absente du `.so` — en UTF-16LE, + comme toutes les chaines Delphi ; la chercher en ASCII ne prouve rien. + Attention, `wipelocal` et `showDebug` s'y trouvent dans les DEUX + configurations : ils viennent de la page HTML embarquee, qui porte toujours + le bouton. Ce qui manque en release, c'est l'appel `PM.showDebug()` et le + gestionnaire du pont — la section est donc inatteignable et sans effet, pas + absente. +4. **Le mot de passe du magasin ne se retrouve pas.** Un JKS ne s'ouvre pas sans + lui. Aujourd'hui le recreer ne coute rien ; une fois une version distribuee, + le perdre voudra dire ne plus jamais pouvoir mettre a jour l'application sur + ces appareils - Android refuse une mise a jour dont la signature a change. ---