做代码混淆出现种种问题,
配置:在project.properties文件中增加混淆配置信息
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
然后添加下面代码到proguard-project.txt文件总算是可以运行了
-optimizationpasses 5
-dontusemixedcaseclassnam es
-dontskipnonpubliclibrary classes
-dontpreverify
-ignorewarnings
-verbose
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*
-keep class com.baidu.**{*;}
-keep public class * extends android.widget.**{*;}
-keep public class * extends
android.widget.LinearLayout{
}
# 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
# Gson specific classes
-keep class sun.misc.Unsafe {*;}
-keep class com.google.gson.** {*;}
# Gson specific classes
-keep class cn.sharesdk.** {*;}
-libraryjars libs/baidumapapi_v2_1_2.jar
-libraryjars libs/lib_anotation.jar
-libraryjars libs/lib_base.jar
-libraryjars libs/lib_json.jar
-libraryjars libs/lib_net.jar
-libraryjars libs/lib_pullrefresh.jar
-libraryjars libs/lib_timer.jar
-libraryjars libs/lib_universalimageloader.jar
-libraryjars libs/lib_util.jar
-libraryjars libs/lib_zxing.jar
-libraryjars libs/locSDK_3.3.jar
-libraryjars libs/Msc.jar
-libraryjars libs/ShareSDK-Core.jar
-libraryjars libs/ShareSDK-QZone.jar
-libraryjars libs/ShareSDK-SinaWeibo.jar
-libraryjars libs/ShareSDK-TencentWeibo.jar
-libraryjars libs/ShareSDK-Wechat-Core.jar
-libraryjars libs/ShareSDK-Wechat-Moments.jar
-libraryjars libs/ShareSDK-Wechat.jar
-libraryjars libs/zxingcore.jar
##---------------Begin: proguard configuration common for all
Android apps ----------
-optimizationpasses 5
-dontusemixedcaseclassnam es
-dontskipnonpubliclibrary classes
-dontskipnonpubliclibrary classmembers
-dontpreverify
-verbose
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*
-allowaccessmodification
-keepattributes *Annotation*
-renamesourcefileattribut e SourceFile
-keepattributes SourceFile,LineNumberTable
-repackageclasses ''
-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
-dontnote
com.android.vending.licensing.ILicensingService
# Explicitly preserve all serialization members. The
Serializable interface
# is only a marker interface, so it wouldn't save them.
-keepclassmembers class * implements java.io.Serializable
{
}
# Preserve all native method names and the names of their
classes.
-keepclasseswithmembernam es class * {
}
-keepclasseswithmembers class * {
}
-keepclasseswithmembers class * {
}
# Preserve static fields of inner classes of R classes that
might be accessed
# through introspection.
-keepclassmembers class **.R$* {
}
# Preserve the special static methods that are required in all
enumeration classes.
-keepclassmembers enum * {
}
-keep public class * {
}
-keep class * implements android.os.Parcelable {
}
##---------------End: proguard configuration common for all
Android apps ------