Proguard java.lang.StackOverflower错误
我试图用proguard混淆android项目,但失败了,错误如下:Proguard java.lang.StackOverflower错误,java,android,proguard,obfuscation,Java,Android,Proguard,Obfuscation,我试图用proguard混淆android项目,但失败了,错误如下: Proguard returned with error code 1. See console [2015-05-19 18:24:31 - Volume] You should check if you need to specify additional program jars. [2015-05-19 18:24:31 - Volume] Exception in thread "main" java.
Proguard returned with error code 1. See console
[2015-05-19 18:24:31 - Volume] You should check if you need to specify additional program jars.
[2015-05-19 18:24:31 - Volume] Exception in thread "main" java.lang.StackOverflowError
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitAnyAttribute(ClassObfuscator.java:169)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.util.SimplifiedVisitor.visitSourceFileAttribute(SimplifiedVisitor.java:251)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.SourceFileAttribute.accept(SourceFileAttribute.java:60)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:535)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitProgramClass(ClassObfuscator.java:148)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.referencedClassAccept(EnclosingMethodAttribute.java:108)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitEnclosingMethodAttribute(ClassObfuscator.java:182)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.accept(EnclosingMethodAttribute.java:130)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:535)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitProgramClass(ClassObfuscator.java:148)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.referencedClassAccept(EnclosingMethodAttribute.java:108)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitEnclosingMethodAttribute(ClassObfuscator.java:182)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.accept(EnclosingMethodAttribute.java:130)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.attributesAccept(ProgramClass.java:535)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitProgramClass(ClassObfuscator.java:148)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.referencedClassAccept(EnclosingMethodAttribute.java:108)
[2015-05-19 18:24:31 - Volume] at proguard.obfuscate.ClassObfuscator.visitEnclosingMethodAttribute(ClassObfuscator.java:182)
[2015-05-19 18:24:31 - Volume] at proguard.classfile.attribute.EnclosingMethodAttribute.accept(EnclosingMethodAttribute.java:130)
对于1000行同样的错误,它是这样的
[更新]Proguard.cfg
-dontwarn javax.annotation.**
-dontwarn javax.inject.**
-dontwarn sun.misc.Unsafe
-keepattributes *Annotation*, EnclosingMethod, Signature, InnerClasses
-keepattributes SourceFile,LineNumberTable
-keep class org.acra.ACRA {
*;
}
-keep class org.acra.ReportingInteractionMode {
*;
}
-keepnames class org.acra.sender.HttpSender$** {
*;
}
-keepnames class org.acra.ReportField {
*;
}
-keep public class org.acra.ErrorReporter
{
public void addCustomData(java.lang.String,java.lang.String);
public void putCustomData(java.lang.String,java.lang.String);
public void removeCustomData(java.lang.String);
}
-keep public class org.acra.ErrorReporter
{
public void handleSilentException(java.lang.Throwable);
}
-keepclassmembers class ** {
public void onEvent*(**);
}
-keep class com.android.internal.telephony.* {
*;
}
-keep class com.example.com.IncomingCallReceiver {
*;
}
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepclasseswithmembernames class * {
@butterknife.* <fields>;
}
-keepclasseswithmembernames class * {
@butterknife.* <methods>;
}
-keep class com.daimajia.easing.** { *; }
-keep interface com.daimajia.easing.** { *; }
-keepnames class de.devland.** { *; }
-keep class **$$Impl { public *;}
-keep class preferences.**Prefs { public *;}
# Dagger
-dontwarn dagger.internal.codegen.**
-keepclassmembers,allowobfuscation class * {
@javax.inject.* *;
@dagger.* *;
<init>();
}
-keep class dagger.* { *; }
-keep class javax.inject.* { *; }
-keep class * extends dagger.internal.Binding
-keep class * extends dagger.internal.ModuleAdapter
-keep class * extends dagger.internal.StaticInjection
-dontwarn javax.annotation**
-dontwarn javax.inject**
-dontwarn sun.misc
-keepattributes*注释*,封闭方法,签名,内部类
-keepattributes源文件,LineNumberTable
-保持类org.acra.acra{
*;
}
-保持类org.acra.ReportingInteractionMode{
*;
}
-keepnames类org.acra.sender.HttpSender$**{
*;
}
-keepnames类org.acra.ReportField{
*;
}
-保持公共类org.acra.ErrorReporter
{
public void addCustomData(java.lang.String、java.lang.String);
公共数据(java.lang.String、java.lang.String);
public void removeCustomData(java.lang.String);
}
-保持公共类org.acra.ErrorReporter
{
public void handleSilentException(java.lang.Throwable);
}
-keepclassmembers类**{
公共无效事件*(**);
}
-保留com.android.internal.telephony类。*{
*;
}
-保持类com.example.com.IncomingCallReceiver{
*;
}
-保持类butterknife.*{*;}
-dontwarn butterknife,内部**
-保持类**$$ViewInjector{*;}
-KeepClassSwithMemberNames类*{
@黄油刀*;
}
-KeepClassSwithMemberNames类*{
@黄油刀*;
}
-保持类com.daimajia.easing.*{*;}
-保持接口com.daimajia.easing.*{*;}
-keepnames类de.devland.*{*;}
-保持类**$$Impl{public*;}
-保留类首选项。**Prefs{public*;}
#匕首
-dontwarn dagger.internal.codegen**
-keepclassmembers,AllowFusion类*{
@javax.inject.*;
@匕首*;
();
}
-保持类匕首。*{*;}
-保持类javax.inject.*{*;}
-keep class*扩展dagger.internal.Binding
-keep class*扩展dagger.internal.moduledapter
-keep class*扩展dagger.internal.StaticInjection
我所尝试的:
谢谢大家!同时发布您的proguardrules@goonerDroid更新为proguard.cfg。有什么想法吗?main中的代码有问题。我在你的proguard规则中找不到任何错误。你能解决这个问题吗?@f470071不!迁移到Android Studio,使用所有库重建,然后它就消失了。我想我们永远不会知道。。。