نوشته شده توسط
shahin bahari
این مورد رو بیشتر توضیح میدید؟! تنظیمات پیش فرض خودش این مورد رو رعایت میکنه یا باید دستی گفت بهش؟! بعضی جاها واقعا ویو کاستوم نیازه!
منظورتون اینه که از Https استفاده کنیم یا داده ها رو دستی خودمون با RSA رمز گزاری کنیم؟!
مورد اول : گاهی لازمه شما یک view رو کاستم کنید حالا به هر دلیلی و وقتی ازش استفاده میکنید (توی xml) به این صورت ادرس میدید مثلا com.ec.myview حالا این کلاس در صورتی که اسمش تغییر کنه مشکل ساز میشه و در زمان اجرا خطا میده.
حالت پیش فرض تا حدودی ولی برای اینکه اطمینان حاصل کنید میتونید خودتون دستی وارد کنید.
مورد دوم : اره میشه استفاده کرد ولی من بیشتر منظورم روی رمزگزاری دستی در طرفین بود.
من خودم بیشتر از این اسکریپت استفاده میکنم.بیشتر موارد رو لحاظ کردم
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable
-ignorewarnings
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable,*Annotation*,Signature
-keepattributes *Annotation*
-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 * 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*(...);
}
-keep class ir.adad.NoProguard
-keep class * extends ir.adad.NoProguard { *; }
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
# -- Action Bar Sherlock --
# from http://actionbarsherlock.com/faq.html
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }
# -- Nine Old Androids --
# same configs as ABS from http://actionbarsherlock.com/faq.html just changed package
-keep class com.nineoldandroids.** { *; }
-keep interface com.nineoldandroids.** { *; }
# -- ACRA --
# from https://github.com/ACRA/acra/wiki/Proguard
# Required to display line numbers and so in ACRA reports
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# keep this class so that logging will show 'ACRA' and not a obfuscated name like 'a'.
# Note: if you are removing log messages elsewhere in this file then this isn't necessary
-keep class org.acra.ACRA {
*;
}
# keep this around for some enums that ACRA needs
-keep class org.acra.ReportingInteractionMode {
*;
}
-keepnames class org.acra.ReportField {
*;
}
# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
public void addCustomData(java.lang.String,java.lang.String);
public void putCustomData(java.lang.String,java.lang.String);
public void removeCustomData(java.lang.String);
}
# keep this otherwise it is removed by ProGuard
-keep public class org.acra.ErrorReporter
{
public void handleSilentException(java.lang.Throwable);
}
# -- Rest Template --
-keepclassmembers public class org.springframework {
public *;
}
-dontwarn org.springframework.http.**