Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Proguard java.lang.StackOverflower错误_Java_Android_Proguard_Obfuscation - Fatal编程技术网

Proguard java.lang.StackOverflower错误

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混淆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.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
我所尝试的:

  • 确保我引用了所有的库

  • 确保proguard.cfg中的所有必要规则

  • 我已经添加了所有的库和相同的 配置到新项目,以便尝试和复制 我有个问题,不能。只有当我复制源代码时 问题出现了,这使我认为 源代码。但是由于错误信息太模糊,我不知道 知道从哪里开始
  • 有谁能告诉我下一步的想法,或者我如何调试proguard吗?

    谢谢大家!

    同时发布您的proguardrules@goonerDroid更新为proguard.cfg。有什么想法吗?main中的代码有问题。我在你的proguard规则中找不到任何错误。你能解决这个问题吗?@f470071不!迁移到Android Studio,使用所有库重建,然后它就消失了。我想我们永远不会知道。。。