1:写完ant打包脚本后,并从网上找了代码混淆的代码进行混淆打包时,发现打包成功后,用手机安装后并不能正常使用,找了一天,发现还是混淆代码的问题,于是根据编译的部分提示进行修改,主要我用了两个外部包,android-support-v4.jar和fastjson-1.1.34.android.jar,故根据对其进行不不混淆打包处理,然后再对android项目中用到的接口,抽象类,泛型都进行了不混淆处理,修改完后终于可以正常打包,配置如下,供大家参考,谢谢。
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
#泛型的处理
-keepattributes 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.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public class * extends android.widget.LinearLayout
##对用到的抽象类、接口都进行不混淆处理
-keep public class com.xyou.gamestrategy.bean.Data
-keep public class * extends android.os.AsyncTask
-keep public class * extends com.xyou.gamestrategy.activity.BaseActivity
-keep public class * implements com.xyou.gamestrategy.http.HttpStack
-keep public class * implements com.xyou.gamestrategy.task.BaseTask
-keep class com.xyou.gamestrategy.** { *; }
-keep interface com.xyou.gamestrategy.** { *; }
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
#对android-support-v4.jar的不混淆处理
-libraryjars libs/android-support-v4.jar
-dontwarn android.support.v4.**
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.support.v4.app.FragmentActivity
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keep public class com.xyou.gamestrategy.R$*{
public static final int *;
}
#fastjson的不混淆处理
-libraryjars libs/fastjson-1.1.34.android.jar
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.** {*;}
-keep class com.alibaba.fastjson.annotation.** {*;}
-keep class com.alibaba.fastjson.parser.** {*;}
-keep class com.alibaba.fastjson.parser.deserializer.** {*;}
-keep class com.alibaba.fastjson.serializer.** {*;}
-keep interface com.alibaba.fastjson.util.** {*;}
网上参考:
http://blog.csdn.net/ma969070578/article/details/9465439