2015-08-26 13 views

cevap

15

Optimizasyon, ProGuard'ın optimizations page adresinde listelenmiştir. Varsayılan optimizasyonlardan biri gibi görünmektedir, ancak daha fazla kontrole ihtiyacınız olduğunda (diğer optimizasyonlar gibi) açıkça belirtilebilir (ör., Enum kutusundan çıkar çıkmaz tüm class/* optimizasyonlarının devre dışı bırakılması).

sınıfı/kutudan çıkarma/enum

kolaylaştırır enum türleri mümkün sabitleri, tamsayı.

+0

Ben sadece bu denenmiş ve kod dönüştürülemez, ancak basit bir numaralandırma sınıfı (sadece çeteleler, hiçbir alanlar) hala bir enum yerine int olarak görünür. Yanlış yaptığım bir şey var mı? 'Proguard-android-optimize.txt' dosyasını kullanıyorum. –

+0

@ThomasVos Bu dosyanın [statik sınıf üyelerini enums'de tutmak için] varsayılan belirtimine sahip olduğunu unutmayın (https://android.googlesource.com/platform/sdk/+/master/files/proguard-android-optimize.txt#48), kutudan çıkarmayı engelleyebilir. İlk olarak, 'values ​​()' yöntemini veya 'String' dönüşümünü kullanmadığınız sürece (eşitlik denetimlerinde sizi sınırlandırır) kullanmayı deneyebilirim. –

+1

Cevabınız için teşekkür ederiz. Dosyayı kaynak koduma kopyalayarak bu satırları zaten kaldırdım ve android proguard kuralları dosyasını kaldırdım. Bununla birlikte, enumlar hala decompiled kodunda görünür. –