我想问一个noob问题。
这个proguard配置是不是混淆了我的文件,也没有模糊我的所有java类,只排除类的名称?
这一行:
-keepnames class ** { *; }
我想构建一个我的应用程序版本并将其上传到公众,这行是我的应用程序的问题吗?这条线是否允许其他人轻松地在我的应用上执行逆向工程?
我的应用只能使用此行生成。
谢谢。
PROGUARD SETTINGS
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
-dontwarn android.support.v4.**
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-keepnames class org.apache.** {*;}
-keep class org.apache.http.** {*;}
-dontwarn org.apache.commons.logging.LogFactory
-dontwarn org.apache.http.annotation.ThreadSafe
-dontwarn org.apache.http.annotation.Immutable
-dontwarn org.apache.http.annotation.NotThreadSafe
-keepnames class ** { *; }
-keep class com.android.volley.** { *; }
-keep interface com.android.volley.** { *; }
-keep class com.sun.** {*;}
答案 0 :(得分:0)
-keepnames
会阻止ProGuard更改指定的类和方法名称(如果在缩小阶段尚未删除它们-keepnames
是-keep,allowshrinking
的缩写)
所以是的,如果有人试图反编译您的应用程序,他们可以看到原始名称而不是混淆的乱码