fix(android): la release place elle-meme les ressources generees

Le Build depose a plat dans Android64\<Config>\ 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 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-29 00:54:24 +01:00
parent 719522df92
commit fa2160104c
+39
View File
@@ -32,6 +32,45 @@ $jdk = 'C:\Program Files\Eclipse Adoptium\jdk-11.0.15.10-hotspot'
$pac = "$bds\bin\paclient.exe" $pac = "$bds\bin\paclient.exe"
$p = ".\Android64\$Config\pmserverApk" $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\<Config>\ - 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 : # 1. Nos icones par-dessus celles de Delphi :
# les proprietes Android_LauncherIcon* et Android_AdaptiveIcon* du .dproj # les proprietes Android_LauncherIcon* et Android_AdaptiveIcon* du .dproj
# devraient suffire, mais rien ne les deploie ici. # devraient suffire, mais rien ne les deploie ici.