我是proguard
和收缩代码和资源的新手。我在这个主题上有一些问题并搜索但找不到任何资源。我想向我的应用程序添加proguard
,然后将以下代码添加到我的gradle
中。在我的应用程序中,我有一个登录页面,该页面获取用户名和密码并发送到服务器,并带有gson
和JsonObject
。添加proguard
后,我无法连接到服务器并且失败而没有任何错误。什么?我的问题是什么?我在调试模式下检查服务器返回的值,显示,a.b.c.d,我认为转换为混淆类但无法识别。
我的毕业生:
buildTypes{ /* release{ minifyEnabled true shrinkResources true *//* proguardFiles getIsDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'*//* }*/ debug{ minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile( 'proguard-android-optimize.txt'), 'proguard.cfg' } }
我在proguard
配置中添加了一些部分,因为之前我遇到了一些错误。proguard.cfg
:
-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
##---------------Begin: proguard configuration for Gson ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-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.** { *; }
##---------------End: proguard configuration for Gson ----------
尝试>>-Keep public com.test.LoginParam
try-->-keep class com.google.android.gms.internal.** { *; }
您必须防止在登录方法中使用模型类进行混淆 -保持类你的model_class_with_package_name.** { *; }