Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Példaüzenetek
warning XA4322: Skipping library ProGuard configuration file 'obj/Debug/net10.0-android/lp/0/jl/proguard.txt' (from NuGet package 'Acme.SomeLibrary' 1.2.3) because it contains the unsupported global option '-printmapping'. Global ProGuard options are only allowed in application projects.
Issue
Egy Android-kódtár (.aar) egy proguard.txt fájlt (egy „felhasználói ProGuard-konfigurációt”) tartalmazott, amely globális ProGuard-beállítást tartalmaz, mint például a -dontoptimize, -dontobfuscate, -printmapping, -printconfiguration, -printusage, -printseeds vagy -dump.
Ezek a beállítások szabályozzák a teljes buildet (például ahol az R8 írja a leképezési fájlt), és csak a tárat használó alkalmazásprojektnek kell beállítania. Ezek nem lehetnek egy .aarproguard.txt-jében. Ez megegyezik az Android Gradle Plugin 9.0 által bevezetett működéssel, amelyben az R8 vagy meghiúsítja a könyvtár közzétételét, vagy csendben figyelmen kívül hagyja az ilyen globális beállításokat, amikor azok egy előre lefordított függőségben (JAR vagy AAR) jelennek meg. A build működésének fenntartása érdekében az Android .NET kihagyja a teljes jogsértő fájlt az R8 meghívása előtt, és kibocsátja ezt a figyelmeztetést.
Megoldás
Ha Ön a tár tulajdonosa, távolítsa el a globális beállításokat az proguard.txt /
ProguardConfiguration elemekből, és állítsa be őket az alkalmazásprojekt sajátjába ProguardConfiguration (például a leképezési fájl írási helyét meghatározó beállítással).$(AndroidProguardMappingFile)
A globális beállítások eltávolítása után a kódtár megőrzési szabályai ismét át lesznek adva az R8-nak.
Ha nem Ön a tulajdonosa a tárnak, küldjön egy problémát a fenntartóinak, és kérje meg őket, hogy távolítsák el a nem engedélyezett beállításokat. Addig az R8 nem fogja látni a könyvtár proguard.txt elemében található megőrzési szabályok egyikét sem, ami azt okozhatja, hogy a szükséges kódot is eltávolítja. Kerülő megoldásként adjon hozzá egyenértékű -keep szabályokat a saját alkalmazásához ProguardConfiguration .