DexFile.class日食中的错误

2022-09-02 11:06:21

每次在 eclipse 中调试时,我都会收到这个奇怪的错误。它似乎有一天出现,我想知道是否有其他人在运行同样的问题。它不会明显影响我的应用程序,也不会导致崩溃,但在调试时会很烦人。这是完整的错误:

    // Compiled from DexFile.java (version 1.5 : 49.0, super bit)
public final class dalvik.system.DexFile {

  // Method descriptor #8 (Ljava/io/File;)V
  // Stack: 3, Locals: 2
  public DexFile(java.io.File file) throws java.io.IOException;
     0  aload_0 [this]
     1  invokespecial java.lang.Object() [1]
     4  new java.lang.RuntimeException [2]
     7  dup
     8  ldc <String "Stub!"> [3]
    10  invokespecial java.lang.RuntimeException(java.lang.String) [4]
    13  athrow
      Line numbers:
        [pc: 0, line: 4]
      Local variable table:
        [pc: 0, pc: 14] local: this index: 0 type: dalvik.system.DexFile
        [pc: 0, pc: 14] local: file index: 1 type: java.io.File

  // Method descriptor #18 (Ljava/lang/String;)V
  // Stack: 3, Locals: 2
  public DexFile(java.lang.String fileName) throws java.io.IOException;
     0  aload_0 [this]
     1  invokespecial java.lang.Object() [1]
     4  new java.lang.RuntimeException [2]
     7  dup
     8  ldc <String "Stub!"> [3]
    10  invokespecial java.lang.RuntimeException(java.lang.String) [4]
    13  athrow
      Line numbers:
        [pc: 0, line: 5]
      Local variable table:
        [pc: 0, pc: 14] local: this index: 0 type: dalvik.system.DexFile
        [pc: 0, pc: 14] local: fileName index: 1 type: java.lang.String

  // Method descriptor #22 (Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile;
  // Stack: 3, Locals: 3
  public static dalvik.system.DexFile loadDex(java.lang.String sourcePathName, java.lang.String outputPathName, int flags) throws java.io.IOException;
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 6]
      Local variable table:
        [pc: 0, pc: 10] local: sourcePathName index: 0 type: java.lang.String
        [pc: 0, pc: 10] local: outputPathName index: 1 type: java.lang.String
        [pc: 0, pc: 10] local: flags index: 2 type: int

  // Method descriptor #28 ()Ljava/lang/String;
  // Stack: 3, Locals: 1
  public java.lang.String getName();
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 7]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: dalvik.system.DexFile

  // Method descriptor #30 ()V
  // Stack: 3, Locals: 1
  public void close() throws java.io.IOException;
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 8]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: dalvik.system.DexFile

  // Method descriptor #32 (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
  // Stack: 3, Locals: 3
  public java.lang.Class loadClass(java.lang.String name, java.lang.ClassLoader loader);
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 9]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: dalvik.system.DexFile
        [pc: 0, pc: 10] local: name index: 1 type: java.lang.String
        [pc: 0, pc: 10] local: loader index: 2 type: java.lang.ClassLoader

  // Method descriptor #37 ()Ljava/util/Enumeration;
  // Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
  // Stack: 3, Locals: 1
  public java.util.Enumeration entries();
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 10]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: dalvik.system.DexFile

  // Method descriptor #30 ()V
  // Stack: 3, Locals: 1
  protected void finalize() throws java.io.IOException;
     0  new java.lang.RuntimeException [2]
     3  dup
     4  ldc <String "Stub!"> [3]
     6  invokespecial java.lang.RuntimeException(java.lang.String) [4]
     9  athrow
      Line numbers:
        [pc: 0, line: 11]
      Local variable table:
        [pc: 0, pc: 10] local: this index: 0 type: dalvik.system.DexFile

  // Method descriptor #42 (Ljava/lang/String;)Z
  public static native boolean isDexOptNeeded(java.lang.String arg0) throws java.io.FileNotFoundException, java.io.IOException;
}

谢谢


答案 1

我发现发生这种情况是因为我在类定义上设置了一个断点。为了修复它,我在调试透视中使用了断点窗口来取消选中所有断点。希望这有帮助。


答案 2

我终于在这里找到了答案。看起来当你调试时,它会尝试进入它没有的代码(android源代码)。有一种方法可以将其包含在项目中以避免此错误。如果上面的链接不起作用,请尝试这个


推荐