From fa2160104c686b81abbb09b1234bddff9d8e87c7 Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Sat, 29 Aug 2026 00:54:24 +0100 Subject: [PATCH] fix(android): la release place elle-meme les ressources generees Le Build depose a plat dans Android64\\ les ressources d'Android - styles.xml, strings.xml, les variantes -v21/-v31, l'icone adaptative - et c'est le Deploy qui devrait les ranger dans res\. Il le fait en DEBUG et pas en RELEASE, alors que les proprietes Android_* du .dproj sont communes aux deux configurations et qu'aucune entree de deploiement ne les nomme. Sans elles, aapt refuse le paquet sur "@style/AppTheme" introuvable : le manifeste reference un theme que plus rien ne definit. Le script les range donc lui-meme, avant nos propres ressources pour que notre colors.xml garde le dernier mot. La correspondance nom-fichier vers sous-dossier est transcrite explicitement : un fichier nouveau se signalera au lieu d'etre range au hasard. Co-Authored-By: Claude Opus 5 --- android-client/repack-apk.ps1 | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/android-client/repack-apk.ps1 b/android-client/repack-apk.ps1 index 2fb6bdb..9cedc96 100644 --- a/android-client/repack-apk.ps1 +++ b/android-client/repack-apk.ps1 @@ -32,6 +32,45 @@ $jdk = 'C:\Program Files\Eclipse Adoptium\jdk-11.0.15.10-hotspot' $pac = "$bds\bin\paclient.exe" $p = ".\Android64\$Config\pmserverApk" +# 0. LES RESSOURCES QUE LA COMPILATION GENERE, MISES EN PLACE A LA MAIN. +# +# Le Build les depose a plat dans Android64\\ - styles.xml, +# strings.xml, les variantes -v21/-v31, l'icone adaptative - et c'est le Deploy +# qui devrait les ranger dans res\. Il le fait en DEBUG et pas en RELEASE, +# raison inconnue : les proprietes Android_* du .dproj sont communes aux deux +# configurations, et aucune entree de deploiement ne les nomme. +# +# Sans elles, aapt refuse le paquet sur "@style/AppTheme" introuvable - le +# manifeste reference un theme que plus rien ne definit. +# +# Le nommage porte la destination : un fichier "nom-qualificatif.xml" va dans +# le sous-dossier "seau-qualificatif" sous le nom "nom.xml". On transcrit cette +# regle plutot que de la deviner, pour qu'un fichier nouveau se signale au lieu +# d'etre range au hasard. +# +# AVANT nos propres ressources, pour que celles-ci gardent le dernier mot - +# notre colors.xml doit l'emporter sur celui de Delphi. +$genRes = @{ + 'strings.xml' = 'values\strings.xml' + 'styles.xml' = 'values\styles.xml' + 'styles-v21.xml' = 'values-v21\styles.xml' + 'styles-v31.xml' = 'values-v31\styles.xml' + 'colors.xml' = 'values\colors.xml' + 'colors-night-v21.xml' = 'values-night-v21\colors.xml' + 'ic_launcher.xml' = 'drawable-anydpi-v26\ic_launcher.xml' + 'ic_launcher-v33.xml' = 'drawable-anydpi-v33\ic_launcher.xml' + 'splash_image_def.xml' = 'drawable\splash_image_def.xml' + 'splash_image_def-v21.xml'= 'drawable-anydpi-v21\splash_image_def.xml' +} +$outDir = ".\Android64\$Config" +foreach ($k in $genRes.Keys) { + $src = "$outDir\$k" + if (-not (Test-Path $src)) { continue } # Delphi ne genere pas tout partout + $dst = Join-Path $p "res\$($genRes[$k])" + New-Item -ItemType Directory -Force -Path (Split-Path $dst) | Out-Null + Copy-Item $src $dst -Force +} + # 1. Nos icones par-dessus celles de Delphi : # les proprietes Android_LauncherIcon* et Android_AdaptiveIcon* du .dproj # devraient suffire, mais rien ne les deploie ici.