Bir uygulamanın kodunu gizlemek için Proguard'ı kullanmak istiyorum. Optimizasyonlara ihtiyacım yok ve Proguard'a herhangi bir sınıf veya metodu çıkarmam için ihtiyacım yok. Tek istediğim gizleme. App çeşitli kütüphane projeleri kullanır.Android & Proguard - nasıl kodlanır, ancak herhangi bir kod optimize değil?
Kafamı başımdan vurmaya çalışıyorum ve olmasını istediğim şekilde çalışmıyor. Proguard'ın küçülme seçeneklerini kapattığımı düşünmüş olsam bile, uygulandığında NoSuchMethodExceptions uygulamasının atıldığını görüyorum.
Proguard JUST'ın gizliliğine sahip olmak ve HERHANGİ bir kodu en iyi duruma getirmemek için sihir ayarları nelerdir?
UPDATE. NoSuchMethodExceptions neden olan şaşırtma süreci (optimizasyon veya daralma değil) olduğunu deneme yanılma yoluyla onayladı.
Proguard.cfg
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-dontshrink
-keep public class * extends Object
-keep class com.myapp.** { *; }
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.myapp.activity.Splash
-keep public class com.myapp.alarm.AlarmsViewer
-keep public class com.myapp.activity.About
-keep public class com.myapp.activity.Base
-keep public class com.myapp.activity.BaseWithMenu
-keep public class com.myapp.alarm.Alarm
-keep public class com.myapp.alarm.AlarmFragment
-keep public class com.myapp.alarm.AlarmPagerAdapter
-keep public class com.myapp.alarm.AlarmStore
-keep public class com.myapp.app.App
-keep public class com.myapp.preferences.Preferences
-keep public class com.myapp.preferences.PreferencesStore
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
-keepattributes *Annotation*
-keep public interface com.android.vending.licensing.ILicensingService
-dontwarn android.support.**
ile tutulması için gerekli xml dosyaları (işleyicileri tıklayın) başvurulan yöntemleri var optimizasyon adımı sorun mu? – for3st