在网上搜了很久,发觉都是有可能是 包重复 的问题,
但是我的包没有重复啊,你们看看,看看是不是我看错了:
包 没有重复的是吧?
当我删去 有关于防止反编译的proguard任何内容 的时候,居然就能签名成功了!!!
也就是说是proguard这些配置的文件错了?
大伙,看下proguard.cfg的代码 - -> 贴图:
proguard.cfg:
-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 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 *;
}
到底哪里错了???
快崩溃了了。。。
我想防止反编译,android版本是2.2的。。
------解决方案--------------------
-keep class android.support.v4.**{*;}
-keep class android.annotations.**{*;}
把第三方的jar包都keep掉试试
------解决方案--------------------
Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep public class android.support.v4.** {*;}
-keep public class annotations.**{*;}
-keep public class * extends android.support.v4.ViewPager{*;}