你自己都说了,没有proguard.cfg文件 没有配置,怎么能生效呢。 现在创建工程后会自动生成这个文件的, 如果你的没有,可能需要升级adt吧 不知道低版本的是否本来没有自带proguard? 我把我的cfg贴一份给你,试试吧 如果不行,就升级adt的sdk。 -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-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-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 *; }
没有配置,怎么能生效呢。
现在创建工程后会自动生成这个文件的,
如果你的没有,可能需要升级adt吧
不知道低版本的是否本来没有自带proguard?
我把我的cfg贴一份给你,试试吧
如果不行,就升级adt的sdk。
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-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-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 *;
}
2.混淆时需要在default.properties文件中添加proguard.config=proguard.cfg
<!-- 混淆代码--> <target name="proguard" depends="compile"> <jar basedir="${outdir-classes}" destfile="temp.jar" /> <java jar="${proguard-home}/proguard.jar" fork="true" failonerror="true"> <jvmarg value="-Dmaximum.inlined.code.length=32" /> <arg value="-injars temp.jar" /> <arg value="-outjars optimized.jar" /> <arg value="-libraryjars ${android-jar}" /> <arg value="-dontpreverify" /> <arg value="-dontoptimize" /> <arg value="-dontusemixedcaseclassnames" /> <arg value="-repackageclasses ''" /> <arg value="-allowaccessmodification" /> <!-- 要保留自己的主ACTIVITY类 --> <arg value="-keep public class * extends com.qmoney.BaseActivity{
public static void init(java.lang.String);
}" /> <arg value="-optimizationpasses 7" /> <arg value="-verbose" /> <arg value="-dontskipnonpubliclibraryclasses" /> <arg value="-dontskipnonpubliclibraryclassmembers" /> </java> <delete file="temp.jar" /> <delete dir="${outdir-classes}" /> <mkdir dir="${outdir-classes}" /> <unzip src="optimized.jar" dest="${outdir-classes}" /> <delete file="optimized.jar" /> </target>
有问题加qq群:50466093