bug_ _ 常见的bug1

 =====  3   java.lang.reflect.InvocationTargetException 异常解决方法

在做djunit测试的时候,发生下面异常:

  1. java.lang.reflect.InvocationTargetException  
  2.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  3.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)  
  4.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  5.     at java.lang.reflect.Method.invoke(Method.java:600)  
  6.     at jp.co.dgic.testing.common.DJUnitClassLoader.getModifiedClass(DJUnitClassLoader.java:106)  
  7.     at jp.co.dgic.testing.common.DJUnitClassLoader.findClass(DJUnitClassLoader.java:56)  
  8.     at java.lang.ClassLoader.loadClass(ClassLoader.java:653)  
  9.     at jp.co.dgic.testing.common.DJUnitClassLoader.loadClass(DJUnitClassLoader.java:45)  
  10.     at jp.co.dgic.testing.common.DJUnitEclipseClassLoader.loadClass(DJUnitEclipseClassLoader.java:59)  
  11.     at java.lang.ClassLoader.loadClass(ClassLoader.java:619)  
  12.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:683)  
  13.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:425)  
  14.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)  
  15.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)  
  16.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)  
  17.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)  
  18.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  19.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)  
  20.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  21.     at java.lang.reflect.Method.invoke(Method.java:600)  
  22.     at jp.co.dgic.eclipse.jdt.internal.junit.runner.DJUnitRunner.main(DJUnitRunner.java:49)  
  23. Caused by: java.io.IOException: Class not found  
  24.     at org.objectweb.asm.ClassReader.a(Unknown Source)  
  25.     at org.objectweb.asm.ClassReader.<init>(Unknown Source)  
  26.     at org.objectweb.asm.ClassReader.<init>(Unknown Source)  
  27.     at jp.co.dgic.testing.common.AsmClassModifier.getModifiedClass(AsmClassModifier.java:49)  
  28.     ... 21 more  
  29. java.lang.reflect.InvocationTargetException  
  30.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  31.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)  
  32.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  33.     at java.lang.reflect.Method.invoke(Method.java:600)  
  34.     at jp.co.dgic.testing.common.DJUnitClassLoader.getModifiedClass(DJUnitClassLoader.java:106)  
  35.     at jp.co.dgic.testing.common.DJUnitClassLoader.findClass(DJUnitClassLoader.java:56)  
  36.     at java.lang.ClassLoader.loadClass(ClassLoader.java:653)  
  37.     at jp.co.dgic.testing.common.DJUnitClassLoader.loadClass(DJUnitClassLoader.java:45)  
  38.     at jp.co.dgic.testing.common.DJUnitEclipseClassLoader.loadClass(DJUnitEclipseClassLoader.java:59)  
  39.     at java.lang.ClassLoader.loadClass(ClassLoader.java:619)  
  40.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:683)  
  41.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:425)  
  42.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)  
  43.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)  
  44.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)  
  45.     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)  
  46.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  47.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)  
  48.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  49.     at java.lang.reflect.Method.invoke(Method.java:600)  
  50.     at jp.co.dgic.eclipse.jdt.internal.junit.runner.DJUnitRunner.main(DJUnitRunner.java:49)  
  51. Caused by: java.io.IOException: Class not found  
  52.     at org.objectweb.asm.ClassReader.a(Unknown Source)  
  53.     at org.objectweb.asm.ClassReader.<init>(Unknown Source)  
  54.     at org.objectweb.asm.ClassReader.<init>(Unknown Source)  
  55.     at jp.co.dgic.testing.common.AsmClassModifier.getModifiedClass(AsmClassModifier.java:49)  
  56.     ... 21 more  

 

发生原因:找到class相应路径下,对应的class文件没生成,有可能是某些class有错,导致没有完成编译,在clean后,经常发生。

解决方法:properties属性里的 java   compiler--> building --> ビルド・パスの問題 --> 

                  abort   build   when   build   path     errors   occur / ビルド・パス・エラーの発生時にビルドを中断  前面的勾去掉

 

 

======== 2   java.lang.outofmemoryerror exception?

10-30 22:53:38.246: E/AndroidRuntime(19137): FATAL EXCEPTION: Thread-1210
10-30 22:53:38.246: E/AndroidRuntime(19137): java.lang.OutOfMemoryError
10-30 22:53:38.246: E/AndroidRuntime(19137):    at com.android.volley.toolbox.DiskBasedCache.streamToBytes(DiskBasedCache.java:316)
10-30 22:53:38.246: E/AndroidRuntime(19137):    at com.android.volley.toolbox.DiskBasedCache.readString(DiskBasedCache.java:526)
10-30 22:53:38.246: E/AndroidRuntime(19137):    at com.android.volley.toolbox.DiskBasedCache.readStringStringMap(DiskBasedCache.java:549)
10-30 22:53:38.246: E/AndroidRuntime(19137):    at com.android.volley.toolbox.DiskBasedCache$CacheHeader.readHeader(DiskBasedCache.java:392)
10-30 22:53:38.246: E/AndroidRuntime(19137):    at com.android.volley.toolbox.DiskBasedCache.initialize(DiskBasedCache.java:155)
10-30 22:53:38.246: E/AndroidRuntime(19137):    at    com.android.volley.CacheDispatcher.run(CacheDispatcher.java:85)

This thing can be an easy fix for this

just add this line in your application tag in manifest file

android:largeHeap="true"

like this

<application
    android:largeHeap="true"
    android:allowBackup="true"

====== 

 

 

posted on 2015-12-11 16:47  左手指月  阅读(445)  评论(0编辑  收藏  举报