fix(android): aapt refusait le paquet a cause de cinq doublons

Le deploiement de Delphi depose a la racine de res\ une copie a plat de
cinq de ses ressources - ic_launcher_*, splash_* - alors que les vraies
sont dans res\drawable\. Or aapt n'accepte que des DOSSIERS a cette
racine : il refusait le paquet entier, "invalid resource directory name",
une fois par fichier.

On les retire avant l'appel, et rien n'est perdu : ce sont des doublons,
verifies presents dans drawable.

Ne se voyait pas en debogage, ou l'arbre traine depuis longtemps. C'est
la premiere release qui l'a montre, comme le dossier de mise en scene
absent juste avant.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-08-29 00:41:05 +01:00
parent 8d51aa54f7
commit 719522df92
+13
View File
@@ -52,6 +52,19 @@ if (Test-Path "$p\res\values-night-v21") {
Copy-Item "$PSScriptRoot\android-res\values\colors.xml" "$p\res\values-night-v21\colors.xml" -Force Copy-Item "$PSScriptRoot\android-res\values\colors.xml" "$p\res\values-night-v21\colors.xml" -Force
} }
# 1 quater. AAPT N'ACCEPTE QUE DES DOSSIERS A LA RACINE DE res\.
#
# Le deploiement de Delphi y depose aussi une copie a plat de cinq de ses
# ressources - ic_launcher_*, splash_* - alors que les vraies sont dans
# res\drawable\. aapt refuse alors le paquet entier : "invalid resource
# directory name", une fois par fichier. On les retire, et rien n'est perdu :
# ce sont des doublons, verifies presents dans drawable.
#
# Ne se voyait pas en debogage, ou l'arbre traine depuis longtemps et ou ces
# fichiers n'y avaient jamais ete deposes. C'est la premiere release qui l'a
# montre, comme le dossier de mise en scene absent juste avant.
Get-ChildItem "$p\res" -File -ErrorAction SilentlyContinue | Remove-Item -Force
# 2. aapt : reconstruit l'archive non alignee depuis library, classes, res. # 2. aapt : reconstruit l'archive non alignee depuis library, classes, res.
& $pac -u8 --aaptpackage="$sdk\build-tools\33.0.2\Aapt.exe,$p\library,$p\classes,$p\res,$p\assets,$p\AndroidManifest.xml,$sdk\platforms\android-33\android.jar,$p\bin\pmserverApk-unaligned.apk" & $pac -u8 --aaptpackage="$sdk\build-tools\33.0.2\Aapt.exe,$p\library,$p\classes,$p\res,$p\assets,$p\AndroidManifest.xml,$sdk\platforms\android-33\android.jar,$p\bin\pmserverApk-unaligned.apk"
if ($LASTEXITCODE -ne 0) { throw "aapt a echoue" } if ($LASTEXITCODE -ne 0) { throw "aapt a echoue" }