Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Örnek iletiler
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
Bir Android kitaplığı (.aar), örneğin -printconfiguration, -printmapping, -printseeds, -printusage, -dump, -dontoptimize veya proguard.txt gibi genel bir ProGuard seçeneği içeren bir -dontobfuscate dosyası ("tüketici ProGuard yapılandırması") içeriyordu.
Bu seçenekler derlemenin tamamını denetler (örneğin, R8'in eşleme dosyasını yazdığı yer) ve yalnızca kitaplığı kullanan uygulama projesi tarafından ayarlanması gerekir. Bunlara, bir proguard.txt'nin .aar içinde izin verilmez. Bu, Android Gradle Eklentisi 9.0'da ortaya çıkan davranışla eşleşir; burada R8 kitaplık yayımlamada başarısız olur veya önceden derlenmiş bir bağımlılıkta (JAR veya AAR) göründüklerinde bu tür genel seçenekleri sessizce yoksayar. Derlemenizin çalışmasını sağlamak için, Android için .NET R8'i çağırmadan önce tüm sorunlu dosyayı atlar ve bu uyarıyı yayar.
Çözüm
Kitaplığın sahibiyseniz, genel seçenekleri proguard.txt /
ProguardConfiguration öğelerinden kaldırın ve bunun yerine bunları uygulama projesinin kendi ProguardConfiguration içinde ayarlayın (örneğin, eşleme dosyasının nereye yazılacağını denetlemek için $(AndroidProguardMappingFile) ayarlayarak).
Genel seçenekler kaldırıldıktan sonra kitaplığın tutma kuralları bir kez daha R8'e geçirilir.
Kitaplığın sahibi siz değilseniz, bakımcılarıyla bir sorun oluşturun ve izin verilmeyen seçenekleri kaldırmalarını isteyin. O zamana kadar R8, bu kitaplığın proguard.txt içindeki keep kurallarının hiçbirini görmez; bu da korunması gereken kodun küçültülmesine neden olabilir. Geçici çözüm olarak kendi uygulamanızınkine ProguardConfiguration eşdeğer -keep kurallar ekleyin.