Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial commit

  • Loading branch information...
commit 00ff5cbe2c90d595e86232b9205a3e5321af7a31 0 parents
shuairan authored
Showing with 2,188 additions and 0 deletions.
  1. +7 −0 .classpath
  2. +33 −0 .project
  3. +5 −0 .settings/org.eclipse.jdt.core.prefs
  4. 0  AndroidManifest.out.xml
  5. +19 −0 AndroidManifest.xml
  6. BIN  bin/TheListener.apk
  7. BIN  bin/classes.dex
  8. BIN  bin/resources.ap_
  9. BIN  bin/sr/listener/CustomMediaPlayer.class
  10. BIN  bin/sr/listener/JSONProtocol.class
  11. BIN  bin/sr/listener/MjpegInputStream.class
  12. BIN  bin/sr/listener/MjpegView$MjpegViewThread.class
  13. BIN  bin/sr/listener/MjpegView.class
  14. BIN  bin/sr/listener/NetworkEvent.class
  15. BIN  bin/sr/listener/NetworkListener.class
  16. BIN  bin/sr/listener/NetworkObserver.class
  17. BIN  bin/sr/listener/NetworkObserverThread.class
  18. BIN  bin/sr/listener/Preferences.class
  19. BIN  bin/sr/listener/R$attr.class
  20. BIN  bin/sr/listener/R$drawable.class
  21. BIN  bin/sr/listener/R$id.class
  22. BIN  bin/sr/listener/R$layout.class
  23. BIN  bin/sr/listener/R$raw.class
  24. BIN  bin/sr/listener/R$string.class
  25. BIN  bin/sr/listener/R$xml.class
  26. BIN  bin/sr/listener/R.class
  27. BIN  bin/sr/listener/TheListenerActivity$1.class
  28. BIN  bin/sr/listener/TheListenerActivity$2.class
  29. BIN  bin/sr/listener/TheListenerActivity$3.class
  30. BIN  bin/sr/listener/TheListenerActivity$4.class
  31. BIN  bin/sr/listener/TheListenerActivity$5.class
  32. BIN  bin/sr/listener/TheListenerActivity.class
  33. +11 −0 default.properties
  34. +39 −0 gen/sr/listener/R.java
  35. +241 −0 hs_err_pid22150.log
  36. +241 −0 hs_err_pid22160.log
  37. +241 −0 hs_err_pid22170.log
  38. +241 −0 hs_err_pid22178.log
  39. +241 −0 hs_err_pid22316.log
  40. +36 −0 proguard.cfg
  41. BIN  res/drawable-hdpi/icon.png
  42. BIN  res/drawable-ldpi/icon.png
  43. BIN  res/drawable-mdpi/icon.png
  44. +12 −0 res/layout/main.xml
  45. BIN  res/raw/door.wav
  46. +7 −0 res/values/strings.xml
  47. +9 −0 res/xml/preferences.xml
  48. +61 −0 src/sr/listener/CustomMediaPlayer.java
  49. +19 −0 src/sr/listener/JSONProtocol.java
  50. +82 −0 src/sr/listener/MjpegInputStream.java
  51. +222 −0 src/sr/listener/MjpegView.java
  52. +10 −0 src/sr/listener/NetworkEvent.java
  53. +5 −0 src/sr/listener/NetworkListener.java
  54. +73 −0 src/sr/listener/NetworkObserver.java
  55. +78 −0 src/sr/listener/NetworkObserverThread.java
  56. +14 −0 src/sr/listener/Preferences.java
  57. +241 −0 src/sr/listener/TheListenerActivity.java
7 .classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
+ <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
33 .project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>TheListener</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.android.ide.eclipse.adt.ApkBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
5 .settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+#Sun Jun 12 17:01:00 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.source=1.5
0  AndroidManifest.out.xml
No changes.
19 AndroidManifest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="sr.listener"
+ android:versionName="0.0.7" android:versionCode="1">
+ <uses-sdk android:minSdkVersion="7" />
+ <uses-permission android:name="android.permission.INTERNET"></uses-permission>
+
+ <application android:icon="@drawable/icon" android:label="@string/app_name">
+ <activity android:name=".TheListenerActivity"
+ android:label="@string/app_name">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity android:label="Preferences" android:name="Preferences"></activity>
+
+ </application>
+</manifest>
BIN  bin/TheListener.apk
Binary file not shown
BIN  bin/classes.dex
Binary file not shown
BIN  bin/resources.ap_
Binary file not shown
BIN  bin/sr/listener/CustomMediaPlayer.class
Binary file not shown
BIN  bin/sr/listener/JSONProtocol.class
Binary file not shown
BIN  bin/sr/listener/MjpegInputStream.class
Binary file not shown
BIN  bin/sr/listener/MjpegView$MjpegViewThread.class
Binary file not shown
BIN  bin/sr/listener/MjpegView.class
Binary file not shown
BIN  bin/sr/listener/NetworkEvent.class
Binary file not shown
BIN  bin/sr/listener/NetworkListener.class
Binary file not shown
BIN  bin/sr/listener/NetworkObserver.class
Binary file not shown
BIN  bin/sr/listener/NetworkObserverThread.class
Binary file not shown
BIN  bin/sr/listener/Preferences.class
Binary file not shown
BIN  bin/sr/listener/R$attr.class
Binary file not shown
BIN  bin/sr/listener/R$drawable.class
Binary file not shown
BIN  bin/sr/listener/R$id.class
Binary file not shown
BIN  bin/sr/listener/R$layout.class
Binary file not shown
BIN  bin/sr/listener/R$raw.class
Binary file not shown
BIN  bin/sr/listener/R$string.class
Binary file not shown
BIN  bin/sr/listener/R$xml.class
Binary file not shown
BIN  bin/sr/listener/R.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity$1.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity$2.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity$3.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity$4.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity$5.class
Binary file not shown
BIN  bin/sr/listener/TheListenerActivity.class
Binary file not shown
11 default.properties
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "build.properties", and override values to adapt the script to your
+# project structure.
+
+# Project target.
+target=android-7
39 gen/sr/listener/R.java
@@ -0,0 +1,39 @@
+/* AUTO-GENERATED FILE. DO NOT MODIFY.
+ *
+ * This class was automatically generated by the
+ * aapt tool from the resource data it found. It
+ * should not be modified by hand.
+ */
+
+package sr.listener;
+
+public final class R {
+ public static final class attr {
+ }
+ public static final class drawable {
+ public static final int icon=0x7f020000;
+ }
+ public static final class id {
+ public static final int LinearLayout1=0x7f070000;
+ public static final int button2=0x7f070004;
+ public static final int button_audio=0x7f070002;
+ public static final int button_pref=0x7f070003;
+ public static final int button_video=0x7f070001;
+ public static final int mjpegView1=0x7f070005;
+ }
+ public static final class layout {
+ public static final int main=0x7f030000;
+ }
+ public static final class raw {
+ public static final int door=0x7f050000;
+ }
+ public static final class string {
+ public static final int app_name=0x7f060001;
+ public static final int hello=0x7f060000;
+ public static final int video_start=0x7f060002;
+ public static final int video_stop=0x7f060003;
+ }
+ public static final class xml {
+ public static final int preferences=0x7f040000;
+ }
+}
241 hs_err_pid22150.log
@@ -0,0 +1,241 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# Internal Error (classFileParser.cpp:3375), pid=22150, tid=3077516144
+# Error: ShouldNotReachHere()
+#
+# JRE version: 6.0_20-b20
+# Java VM: OpenJDK Client VM (19.0-b09 mixed mode linux-x86 )
+# Derivative: IcedTea6 1.9.7
+# Distribution: Ubuntu 10.10, package 6b20-1.9.7-0ubuntu1
+# If you would like to submit a bug report, please include
+# instructions how to reproduce the bug and visit:
+# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x08230000): JavaThread "Unknown thread" [_thread_in_vm, id=22155, stack(0xb76a2000,0xb76f3000)]
+
+Stack: [0xb76a2000,0xb76f3000], sp=0xb76f1800, free space=318k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [libjvm.so+0x3e95a7]
+V [libjvm.so+0x3e97f1]
+V [libjvm.so+0x17865e]
+V [libjvm.so+0x1786d9]
+V [libjvm.so+0x1201e6]
+V [libjvm.so+0x12347b]
+V [libjvm.so+0x38fdf9]
+V [libjvm.so+0x3907d2]
+V [libjvm.so+0x390bb4]
+V [libjvm.so+0x391b90]
+V [libjvm.so+0x391c4a]
+V [libjvm.so+0x391cdd]
+V [libjvm.so+0x391d36]
+V [libjvm.so+0x391e13]
+V [libjvm.so+0x392109]
+V [libjvm.so+0x3c93ef]
+V [libjvm.so+0x3c9dfc]
+V [libjvm.so+0x1d9b98]
+V [libjvm.so+0x3bd3dc]
+V [libjvm.so+0x2133ec]
+C [java+0x2238] JavaMain+0x88
+C [libpthread.so.0+0x5cc9]
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x08230000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22155, stack(0xb76a2000,0xb76f3000)]
+
+VM state:not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Dynamic libraries:
+00110000-00134000 r-xp 00000000 08:02 475350 /lib/libm-2.12.1.so
+00134000-00135000 r--p 00023000 08:02 475350 /lib/libm-2.12.1.so
+00135000-00136000 rw-p 00024000 08:02 475350 /lib/libm-2.12.1.so
+00136000-0013d000 r-xp 00000000 08:02 476625 /lib/librt-2.12.1.so
+0013d000-0013e000 r--p 00006000 08:02 476625 /lib/librt-2.12.1.so
+0013e000-0013f000 rw-p 00007000 08:02 476625 /lib/librt-2.12.1.so
+0013f000-00145000 r-xp 00000000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00145000-00146000 r--p 00005000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00146000-00147000 rw-p 00006000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00148000-0015b000 r-xp 00000000 08:02 475546 /lib/libnsl-2.12.1.so
+0015b000-0015c000 r--p 00012000 08:02 475546 /lib/libnsl-2.12.1.so
+0015c000-0015d000 rw-p 00013000 08:02 475546 /lib/libnsl-2.12.1.so
+0015d000-0015f000 rw-p 00000000 00:00 0
+0018f000-001ab000 r-xp 00000000 08:02 459160 /lib/ld-2.12.1.so
+001ab000-001ac000 r--p 0001b000 08:02 459160 /lib/ld-2.12.1.so
+001ac000-001ad000 rw-p 0001c000 08:02 459160 /lib/ld-2.12.1.so
+001ad000-00304000 r-xp 00000000 08:02 475343 /lib/libc-2.12.1.so
+00304000-00306000 r--p 00157000 08:02 475343 /lib/libc-2.12.1.so
+00306000-00307000 rw-p 00159000 08:02 475343 /lib/libc-2.12.1.so
+00307000-0030a000 rw-p 00000000 00:00 0
+0030f000-00322000 r-xp 00000000 08:02 524511 /lib/libz.so.1.2.3.4
+00322000-00323000 r--p 00012000 08:02 524511 /lib/libz.so.1.2.3.4
+00323000-00324000 rw-p 00013000 08:02 524511 /lib/libz.so.1.2.3.4
+003cd000-003d6000 r-xp 00000000 08:02 476292 /lib/libnss_nis-2.12.1.so
+003d6000-003d7000 r--p 00008000 08:02 476292 /lib/libnss_nis-2.12.1.so
+003d7000-003d8000 rw-p 00009000 08:02 476292 /lib/libnss_nis-2.12.1.so
+003ee000-003ef000 r-xp 00000000 00:00 0 [vdso]
+003ef000-003f5000 r-xp 00000000 08:02 475551 /lib/libnss_compat-2.12.1.so
+003f5000-003f6000 r--p 00006000 08:02 475551 /lib/libnss_compat-2.12.1.so
+003f6000-003f7000 rw-p 00007000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00454000-00456000 r-xp 00000000 08:02 475348 /lib/libdl-2.12.1.so
+00456000-00457000 r--p 00001000 08:02 475348 /lib/libdl-2.12.1.so
+00457000-00458000 rw-p 00002000 08:02 475348 /lib/libdl-2.12.1.so
+00499000-004a3000 r-xp 00000000 08:02 476290 /lib/libnss_files-2.12.1.so
+004a3000-004a4000 r--p 00009000 08:02 476290 /lib/libnss_files-2.12.1.so
+004a4000-004a5000 rw-p 0000a000 08:02 476290 /lib/libnss_files-2.12.1.so
+007c8000-007ea000 r-xp 00000000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+007ea000-007eb000 r--p 00021000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+007eb000-007ed000 rw-p 00022000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+00a29000-00a34000 r-xp 00000000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a34000-00a35000 ---p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a35000-00a36000 r--p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a36000-00a37000 rw-p 0000c000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00af2000-00b07000 r-xp 00000000 08:02 476623 /lib/libpthread-2.12.1.so
+00b07000-00b08000 ---p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00b08000-00b09000 r--p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00b09000-00b0a000 rw-p 00016000 08:02 476623 /lib/libpthread-2.12.1.so
+00b0a000-00b0c000 rw-p 00000000 00:00 0
+00b3a000-00b40000 r-xp 00000000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00b40000-00b41000 r--p 00005000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00b41000-00b42000 rw-p 00006000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00be9000-00bec000 r-xp 00000000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00bec000-00bed000 r--p 00002000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00bed000-00bee000 rw-p 00003000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00bee000-01041000 r-xp 00000000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01041000-01058000 r--p 00453000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01058000-01065000 rw-p 0046a000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01065000-01481000 rw-p 00000000 00:00 0
+08048000-08051000 r-xp 00000000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08051000-08052000 r--p 00008000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08052000-08053000 rw-p 00009000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+0822a000-0828d000 rw-p 00000000 00:00 0 [heap]
+913ce000-91433000 r--s 004cb000 08:01 657443 /media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+91433000-9143a000 rw-p 00000000 00:00 0
+9143a000-91454000 rw-p 00000000 00:00 0
+91454000-9145a000 rw-p 00000000 00:00 0
+9145a000-914ff000 rw-p 00000000 00:00 0
+914ff000-91502000 rw-p 00000000 00:00 0
+91502000-91554000 rw-p 00000000 00:00 0
+91554000-9155a000 rw-p 00000000 00:00 0
+9155a000-915ff000 rw-p 00000000 00:00 0
+915ff000-91605000 rw-p 00000000 00:00 0
+91605000-9161f000 rw-p 00000000 00:00 0
+9161f000-91b70000 rw-p 00000000 00:00 0
+91b70000-9c0c0000 rw-p 00000000 00:00 0
+9c0c0000-9cb70000 rw-p 00000000 00:00 0
+9cb70000-b1620000 rw-p 00000000 00:00 0
+b1620000-b2220000 rw-p 00000000 00:00 0
+b2220000-b5620000 rw-p 00000000 00:00 0
+b5622000-b5623000 rw-p 00000000 00:00 0
+b5623000-b56a2000 rw-p 00000000 00:00 0
+b56a2000-b56d2000 rwxp 00000000 00:00 0
+b56d2000-b76a2000 rw-p 00000000 00:00 0
+b76a2000-b76a5000 ---p 00000000 00:00 0
+b76a5000-b76f6000 rw-p 00000000 00:00 0
+b7707000-b770f000 rw-s 00000000 08:02 747561 /tmp/hsperfdata_shuairan/22150
+b770f000-b7710000 rw-p 00000000 00:00 0
+b7710000-b7711000 r--p 00000000 00:00 0
+b7711000-b7713000 rw-p 00000000 00:00 0
+bfc15000-bfc36000 rw-p 00000000 00:00 0 [stack]
+
+VM Arguments:
+jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:/media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+java_command: sr.listener.NetworkListener
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+USERNAME=shuairan
+LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
+SHELL=/bin/bash
+DISPLAY=:0.0
+
+Signal Handlers:
+SIGSEGV: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGBUS: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGFPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGPIPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGXFSZ: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGILL: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGUSR2: [libjvm.so+0x30c900], sa_mask[0]=0x00000004, sa_flags=0x10000004
+SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+
+
+--------------- S Y S T E M ---------------
+
+OS:Ubuntu 10.10 (maverick)
+uname:Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686
+libc:glibc 2.12.1 NPTL 2.12.1
+rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
+load average:0.16 0.17 0.21
+
+/proc/meminfo:
+MemTotal: 2059780 kB
+MemFree: 55200 kB
+Buffers: 85700 kB
+Cached: 642016 kB
+SwapCached: 10232 kB
+Active: 1161748 kB
+Inactive: 686748 kB
+Active(anon): 744788 kB
+Inactive(anon): 392140 kB
+Active(file): 416960 kB
+Inactive(file): 294608 kB
+Unevictable: 64 kB
+Mlocked: 64 kB
+HighTotal: 1186696 kB
+HighFree: 3220 kB
+LowTotal: 873084 kB
+LowFree: 51980 kB
+SwapTotal: 1084380 kB
+SwapFree: 959212 kB
+Dirty: 588 kB
+Writeback: 0 kB
+AnonPages: 1112344 kB
+Mapped: 123508 kB
+Shmem: 16060 kB
+Slab: 96096 kB
+SReclaimable: 80860 kB
+SUnreclaim: 15236 kB
+KernelStack: 3680 kB
+PageTables: 10248 kB
+NFS_Unstable: 0 kB
+Bounce: 0 kB
+WritebackTmp: 0 kB
+CommitLimit: 2114268 kB
+Committed_AS: 3025664 kB
+VmallocTotal: 122880 kB
+VmallocUsed: 64896 kB
+VmallocChunk: 50720 kB
+HardwareCorrupted: 0 kB
+HugePages_Total: 0
+HugePages_Free: 0
+HugePages_Rsvd: 0
+HugePages_Surp: 0
+Hugepagesize: 4096 kB
+DirectMap4k: 57336 kB
+DirectMap4M: 851968 kB
+
+
+CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2
+
+Memory: 4k page, physical 2059780k(55200k free), swap 1084380k(959212k free)
+
+vm_info: OpenJDK Client VM (19.0-b09) for linux-x86 JRE (1.6.0_20-b20), built on Feb 23 2011 09:10:41 by "buildd" with gcc 4.4.5
+
+time: Mon Jun 13 12:37:19 2011
+elapsed time: 0 seconds
+
241 hs_err_pid22160.log
@@ -0,0 +1,241 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# Internal Error (classFileParser.cpp:3375), pid=22160, tid=3078671216
+# Error: ShouldNotReachHere()
+#
+# JRE version: 6.0_20-b20
+# Java VM: OpenJDK Client VM (19.0-b09 mixed mode linux-x86 )
+# Derivative: IcedTea6 1.9.7
+# Distribution: Ubuntu 10.10, package 6b20-1.9.7-0ubuntu1
+# If you would like to submit a bug report, please include
+# instructions how to reproduce the bug and visit:
+# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x094b0000): JavaThread "Unknown thread" [_thread_in_vm, id=22165, stack(0xb77bc000,0xb780d000)]
+
+Stack: [0xb77bc000,0xb780d000], sp=0xb780b800, free space=318k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [libjvm.so+0x3e95a7]
+V [libjvm.so+0x3e97f1]
+V [libjvm.so+0x17865e]
+V [libjvm.so+0x1786d9]
+V [libjvm.so+0x1201e6]
+V [libjvm.so+0x12347b]
+V [libjvm.so+0x38fdf9]
+V [libjvm.so+0x3907d2]
+V [libjvm.so+0x390bb4]
+V [libjvm.so+0x391b90]
+V [libjvm.so+0x391c4a]
+V [libjvm.so+0x391cdd]
+V [libjvm.so+0x391d36]
+V [libjvm.so+0x391e13]
+V [libjvm.so+0x392109]
+V [libjvm.so+0x3c93ef]
+V [libjvm.so+0x3c9dfc]
+V [libjvm.so+0x1d9b98]
+V [libjvm.so+0x3bd3dc]
+V [libjvm.so+0x2133ec]
+C [java+0x2238] JavaMain+0x88
+C [libpthread.so.0+0x5cc9]
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x094b0000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22165, stack(0xb77bc000,0xb780d000)]
+
+VM state:not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Dynamic libraries:
+00110000-00116000 r-xp 00000000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00116000-00117000 r--p 00005000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00117000-00118000 rw-p 00006000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00118000-0011e000 r-xp 00000000 08:02 475551 /lib/libnss_compat-2.12.1.so
+0011e000-0011f000 r--p 00006000 08:02 475551 /lib/libnss_compat-2.12.1.so
+0011f000-00120000 rw-p 00007000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00120000-0012a000 r-xp 00000000 08:02 476290 /lib/libnss_files-2.12.1.so
+0012a000-0012b000 r--p 00009000 08:02 476290 /lib/libnss_files-2.12.1.so
+0012b000-0012c000 rw-p 0000a000 08:02 476290 /lib/libnss_files-2.12.1.so
+0018d000-001af000 r-xp 00000000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+001af000-001b0000 r--p 00021000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+001b0000-001b2000 rw-p 00022000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+00209000-0020f000 r-xp 00000000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+0020f000-00210000 r--p 00005000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00210000-00211000 rw-p 00006000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+002c2000-002c3000 r-xp 00000000 00:00 0 [vdso]
+00498000-004b4000 r-xp 00000000 08:02 459160 /lib/ld-2.12.1.so
+004b4000-004b5000 r--p 0001b000 08:02 459160 /lib/ld-2.12.1.so
+004b5000-004b6000 rw-p 0001c000 08:02 459160 /lib/ld-2.12.1.so
+004bd000-004c4000 r-xp 00000000 08:02 476625 /lib/librt-2.12.1.so
+004c4000-004c5000 r--p 00006000 08:02 476625 /lib/librt-2.12.1.so
+004c5000-004c6000 rw-p 00007000 08:02 476625 /lib/librt-2.12.1.so
+00544000-0054d000 r-xp 00000000 08:02 476292 /lib/libnss_nis-2.12.1.so
+0054d000-0054e000 r--p 00008000 08:02 476292 /lib/libnss_nis-2.12.1.so
+0054e000-0054f000 rw-p 00009000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00589000-0059e000 r-xp 00000000 08:02 476623 /lib/libpthread-2.12.1.so
+0059e000-0059f000 ---p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+0059f000-005a0000 r--p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+005a0000-005a1000 rw-p 00016000 08:02 476623 /lib/libpthread-2.12.1.so
+005a1000-005a3000 rw-p 00000000 00:00 0
+00691000-006a4000 r-xp 00000000 08:02 524511 /lib/libz.so.1.2.3.4
+006a4000-006a5000 r--p 00012000 08:02 524511 /lib/libz.so.1.2.3.4
+006a5000-006a6000 rw-p 00013000 08:02 524511 /lib/libz.so.1.2.3.4
+0087f000-008a3000 r-xp 00000000 08:02 475350 /lib/libm-2.12.1.so
+008a3000-008a4000 r--p 00023000 08:02 475350 /lib/libm-2.12.1.so
+008a4000-008a5000 rw-p 00024000 08:02 475350 /lib/libm-2.12.1.so
+00a1a000-00a25000 r-xp 00000000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a25000-00a26000 ---p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a26000-00a27000 r--p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a27000-00a28000 rw-p 0000c000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00a83000-00a86000 r-xp 00000000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00a86000-00a87000 r--p 00002000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00a87000-00a88000 rw-p 00003000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00b34000-00b36000 r-xp 00000000 08:02 475348 /lib/libdl-2.12.1.so
+00b36000-00b37000 r--p 00001000 08:02 475348 /lib/libdl-2.12.1.so
+00b37000-00b38000 rw-p 00002000 08:02 475348 /lib/libdl-2.12.1.so
+00d61000-00d74000 r-xp 00000000 08:02 475546 /lib/libnsl-2.12.1.so
+00d74000-00d75000 r--p 00012000 08:02 475546 /lib/libnsl-2.12.1.so
+00d75000-00d76000 rw-p 00013000 08:02 475546 /lib/libnsl-2.12.1.so
+00d76000-00d78000 rw-p 00000000 00:00 0
+00e82000-00fd9000 r-xp 00000000 08:02 475343 /lib/libc-2.12.1.so
+00fd9000-00fdb000 r--p 00157000 08:02 475343 /lib/libc-2.12.1.so
+00fdb000-00fdc000 rw-p 00159000 08:02 475343 /lib/libc-2.12.1.so
+00fdc000-00fdf000 rw-p 00000000 00:00 0
+00fdf000-01432000 r-xp 00000000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01432000-01449000 r--p 00453000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01449000-01456000 rw-p 0046a000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01456000-01872000 rw-p 00000000 00:00 0
+08048000-08051000 r-xp 00000000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08051000-08052000 r--p 00008000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08052000-08053000 rw-p 00009000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+094aa000-0950d000 rw-p 00000000 00:00 0 [heap]
+914de000-91543000 r--s 004cb000 08:01 657443 /media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+91543000-9154a000 rw-p 00000000 00:00 0
+9154a000-91564000 rw-p 00000000 00:00 0
+91564000-9156a000 rw-p 00000000 00:00 0
+9156a000-9160f000 rw-p 00000000 00:00 0
+9160f000-91612000 rw-p 00000000 00:00 0
+91612000-91664000 rw-p 00000000 00:00 0
+91664000-9166a000 rw-p 00000000 00:00 0
+9166a000-9170f000 rw-p 00000000 00:00 0
+9170f000-91715000 rw-p 00000000 00:00 0
+91715000-9172f000 rw-p 00000000 00:00 0
+9172f000-91c80000 rw-p 00000000 00:00 0
+91c80000-9c1d0000 rw-p 00000000 00:00 0
+9c1d0000-9cc80000 rw-p 00000000 00:00 0
+9cc80000-b1730000 rw-p 00000000 00:00 0
+b1730000-b2330000 rw-p 00000000 00:00 0
+b2330000-b5730000 rw-p 00000000 00:00 0
+b573c000-b573d000 rw-p 00000000 00:00 0
+b573d000-b57bc000 rw-p 00000000 00:00 0
+b57bc000-b57ec000 rwxp 00000000 00:00 0
+b57ec000-b77bc000 rw-p 00000000 00:00 0
+b77bc000-b77bf000 ---p 00000000 00:00 0
+b77bf000-b7810000 rw-p 00000000 00:00 0
+b7821000-b7829000 rw-s 00000000 08:02 747561 /tmp/hsperfdata_shuairan/22160
+b7829000-b782a000 rw-p 00000000 00:00 0
+b782a000-b782b000 r--p 00000000 00:00 0
+b782b000-b782d000 rw-p 00000000 00:00 0
+bfbd5000-bfbf6000 rw-p 00000000 00:00 0 [stack]
+
+VM Arguments:
+jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:/media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+java_command: sr.listener.NetworkListener
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+USERNAME=shuairan
+LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
+SHELL=/bin/bash
+DISPLAY=:0.0
+
+Signal Handlers:
+SIGSEGV: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGBUS: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGFPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGPIPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGXFSZ: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGILL: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGUSR2: [libjvm.so+0x30c900], sa_mask[0]=0x00000004, sa_flags=0x10000004
+SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+
+
+--------------- S Y S T E M ---------------
+
+OS:Ubuntu 10.10 (maverick)
+uname:Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686
+libc:glibc 2.12.1 NPTL 2.12.1
+rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
+load average:0.13 0.17 0.21
+
+/proc/meminfo:
+MemTotal: 2059780 kB
+MemFree: 53480 kB
+Buffers: 85772 kB
+Cached: 642448 kB
+SwapCached: 10232 kB
+Active: 1163124 kB
+Inactive: 686408 kB
+Active(anon): 746024 kB
+Inactive(anon): 391412 kB
+Active(file): 417100 kB
+Inactive(file): 294996 kB
+Unevictable: 64 kB
+Mlocked: 64 kB
+HighTotal: 1186696 kB
+HighFree: 1732 kB
+LowTotal: 873084 kB
+LowFree: 51748 kB
+SwapTotal: 1084380 kB
+SwapFree: 959212 kB
+Dirty: 31076 kB
+Writeback: 0 kB
+AnonPages: 1112916 kB
+Mapped: 123620 kB
+Shmem: 16060 kB
+Slab: 97220 kB
+SReclaimable: 81296 kB
+SUnreclaim: 15924 kB
+KernelStack: 3632 kB
+PageTables: 10284 kB
+NFS_Unstable: 0 kB
+Bounce: 0 kB
+WritebackTmp: 0 kB
+CommitLimit: 2114268 kB
+Committed_AS: 3026188 kB
+VmallocTotal: 122880 kB
+VmallocUsed: 64896 kB
+VmallocChunk: 50720 kB
+HardwareCorrupted: 0 kB
+HugePages_Total: 0
+HugePages_Free: 0
+HugePages_Rsvd: 0
+HugePages_Surp: 0
+Hugepagesize: 4096 kB
+DirectMap4k: 57336 kB
+DirectMap4M: 851968 kB
+
+
+CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2
+
+Memory: 4k page, physical 2059780k(53480k free), swap 1084380k(959212k free)
+
+vm_info: OpenJDK Client VM (19.0-b09) for linux-x86 JRE (1.6.0_20-b20), built on Feb 23 2011 09:10:41 by "buildd" with gcc 4.4.5
+
+time: Mon Jun 13 12:37:35 2011
+elapsed time: 0 seconds
+
241 hs_err_pid22170.log
@@ -0,0 +1,241 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# Internal Error (classFileParser.cpp:3375), pid=22170, tid=3077983088
+# Error: ShouldNotReachHere()
+#
+# JRE version: 6.0_20-b20
+# Java VM: OpenJDK Client VM (19.0-b09 mixed mode linux-x86 )
+# Derivative: IcedTea6 1.9.7
+# Distribution: Ubuntu 10.10, package 6b20-1.9.7-0ubuntu1
+# If you would like to submit a bug report, please include
+# instructions how to reproduce the bug and visit:
+# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x08eac000): JavaThread "Unknown thread" [_thread_in_vm, id=22174, stack(0xb7714000,0xb7765000)]
+
+Stack: [0xb7714000,0xb7765000], sp=0xb7763800, free space=318k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [libjvm.so+0x3e95a7]
+V [libjvm.so+0x3e97f1]
+V [libjvm.so+0x17865e]
+V [libjvm.so+0x1786d9]
+V [libjvm.so+0x1201e6]
+V [libjvm.so+0x12347b]
+V [libjvm.so+0x38fdf9]
+V [libjvm.so+0x3907d2]
+V [libjvm.so+0x390bb4]
+V [libjvm.so+0x391b90]
+V [libjvm.so+0x391c4a]
+V [libjvm.so+0x391cdd]
+V [libjvm.so+0x391d36]
+V [libjvm.so+0x391e13]
+V [libjvm.so+0x392109]
+V [libjvm.so+0x3c93ef]
+V [libjvm.so+0x3c9dfc]
+V [libjvm.so+0x1d9b98]
+V [libjvm.so+0x3bd3dc]
+V [libjvm.so+0x2133ec]
+C [java+0x2238] JavaMain+0x88
+C [libpthread.so.0+0x5cc9]
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x08eac000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22174, stack(0xb7714000,0xb7765000)]
+
+VM state:not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Dynamic libraries:
+00110000-00125000 r-xp 00000000 08:02 476623 /lib/libpthread-2.12.1.so
+00125000-00126000 ---p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00126000-00127000 r--p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00127000-00128000 rw-p 00016000 08:02 476623 /lib/libpthread-2.12.1.so
+00128000-0012a000 rw-p 00000000 00:00 0
+0012a000-0014e000 r-xp 00000000 08:02 475350 /lib/libm-2.12.1.so
+0014e000-0014f000 r--p 00023000 08:02 475350 /lib/libm-2.12.1.so
+0014f000-00150000 rw-p 00024000 08:02 475350 /lib/libm-2.12.1.so
+00150000-00157000 r-xp 00000000 08:02 476625 /lib/librt-2.12.1.so
+00157000-00158000 r--p 00006000 08:02 476625 /lib/librt-2.12.1.so
+00158000-00159000 rw-p 00007000 08:02 476625 /lib/librt-2.12.1.so
+00159000-0015f000 r-xp 00000000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+0015f000-00160000 r--p 00005000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00160000-00161000 rw-p 00006000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+002e5000-002ef000 r-xp 00000000 08:02 476290 /lib/libnss_files-2.12.1.so
+002ef000-002f0000 r--p 00009000 08:02 476290 /lib/libnss_files-2.12.1.so
+002f0000-002f1000 rw-p 0000a000 08:02 476290 /lib/libnss_files-2.12.1.so
+003d4000-003f0000 r-xp 00000000 08:02 459160 /lib/ld-2.12.1.so
+003f0000-003f1000 r--p 0001b000 08:02 459160 /lib/ld-2.12.1.so
+003f1000-003f2000 rw-p 0001c000 08:02 459160 /lib/ld-2.12.1.so
+00484000-00486000 r-xp 00000000 08:02 475348 /lib/libdl-2.12.1.so
+00486000-00487000 r--p 00001000 08:02 475348 /lib/libdl-2.12.1.so
+00487000-00488000 rw-p 00002000 08:02 475348 /lib/libdl-2.12.1.so
+00493000-00496000 r-xp 00000000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00496000-00497000 r--p 00002000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00497000-00498000 rw-p 00003000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00603000-00609000 r-xp 00000000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00609000-0060a000 r--p 00006000 08:02 475551 /lib/libnss_compat-2.12.1.so
+0060a000-0060b000 rw-p 00007000 08:02 475551 /lib/libnss_compat-2.12.1.so
+0064b000-0065e000 r-xp 00000000 08:02 524511 /lib/libz.so.1.2.3.4
+0065e000-0065f000 r--p 00012000 08:02 524511 /lib/libz.so.1.2.3.4
+0065f000-00660000 rw-p 00013000 08:02 524511 /lib/libz.so.1.2.3.4
+00730000-00731000 r-xp 00000000 00:00 0 [vdso]
+007a7000-007b2000 r-xp 00000000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+007b2000-007b3000 ---p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+007b3000-007b4000 r--p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+007b4000-007b5000 rw-p 0000c000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+007cc000-007d2000 r-xp 00000000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+007d2000-007d3000 r--p 00005000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+007d3000-007d4000 rw-p 00006000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+0083a000-00843000 r-xp 00000000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00843000-00844000 r--p 00008000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00844000-00845000 rw-p 00009000 08:02 476292 /lib/libnss_nis-2.12.1.so
+0086a000-0088c000 r-xp 00000000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+0088c000-0088d000 r--p 00021000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+0088d000-0088f000 rw-p 00022000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+00d42000-00d55000 r-xp 00000000 08:02 475546 /lib/libnsl-2.12.1.so
+00d55000-00d56000 r--p 00012000 08:02 475546 /lib/libnsl-2.12.1.so
+00d56000-00d57000 rw-p 00013000 08:02 475546 /lib/libnsl-2.12.1.so
+00d57000-00d59000 rw-p 00000000 00:00 0
+00e10000-00f67000 r-xp 00000000 08:02 475343 /lib/libc-2.12.1.so
+00f67000-00f69000 r--p 00157000 08:02 475343 /lib/libc-2.12.1.so
+00f69000-00f6a000 rw-p 00159000 08:02 475343 /lib/libc-2.12.1.so
+00f6a000-00f6d000 rw-p 00000000 00:00 0
+00f6d000-013c0000 r-xp 00000000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+013c0000-013d7000 r--p 00453000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+013d7000-013e4000 rw-p 0046a000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+013e4000-01800000 rw-p 00000000 00:00 0
+08048000-08051000 r-xp 00000000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08051000-08052000 r--p 00008000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08052000-08053000 rw-p 00009000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08ea6000-08f09000 rw-p 00000000 00:00 0 [heap]
+9143e000-914a3000 r--s 004cb000 08:01 657443 /media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+914a3000-914aa000 rw-p 00000000 00:00 0
+914aa000-914c4000 rw-p 00000000 00:00 0
+914c4000-914ca000 rw-p 00000000 00:00 0
+914ca000-9156f000 rw-p 00000000 00:00 0
+9156f000-91572000 rw-p 00000000 00:00 0
+91572000-915c4000 rw-p 00000000 00:00 0
+915c4000-915ca000 rw-p 00000000 00:00 0
+915ca000-9166f000 rw-p 00000000 00:00 0
+9166f000-91675000 rw-p 00000000 00:00 0
+91675000-9168f000 rw-p 00000000 00:00 0
+9168f000-91be0000 rw-p 00000000 00:00 0
+91be0000-9c130000 rw-p 00000000 00:00 0
+9c130000-9cbe0000 rw-p 00000000 00:00 0
+9cbe0000-b1690000 rw-p 00000000 00:00 0
+b1690000-b2290000 rw-p 00000000 00:00 0
+b2290000-b5690000 rw-p 00000000 00:00 0
+b5694000-b5695000 rw-p 00000000 00:00 0
+b5695000-b5714000 rw-p 00000000 00:00 0
+b5714000-b5744000 rwxp 00000000 00:00 0
+b5744000-b7714000 rw-p 00000000 00:00 0
+b7714000-b7717000 ---p 00000000 00:00 0
+b7717000-b7768000 rw-p 00000000 00:00 0
+b7779000-b7781000 rw-s 00000000 08:02 747561 /tmp/hsperfdata_shuairan/22170
+b7781000-b7782000 rw-p 00000000 00:00 0
+b7782000-b7783000 r--p 00000000 00:00 0
+b7783000-b7785000 rw-p 00000000 00:00 0
+bfd43000-bfd64000 rw-p 00000000 00:00 0 [stack]
+
+VM Arguments:
+jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:/media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+java_command: sr.listener.NetworkListener
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+USERNAME=shuairan
+LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
+SHELL=/bin/bash
+DISPLAY=:0.0
+
+Signal Handlers:
+SIGSEGV: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGBUS: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGFPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGPIPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGXFSZ: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGILL: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGUSR2: [libjvm.so+0x30c900], sa_mask[0]=0x00000004, sa_flags=0x10000004
+SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+
+
+--------------- S Y S T E M ---------------
+
+OS:Ubuntu 10.10 (maverick)
+uname:Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686
+libc:glibc 2.12.1 NPTL 2.12.1
+rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
+load average:0.13 0.16 0.21
+
+/proc/meminfo:
+MemTotal: 2059780 kB
+MemFree: 73792 kB
+Buffers: 78184 kB
+Cached: 632232 kB
+SwapCached: 10112 kB
+Active: 1140940 kB
+Inactive: 690596 kB
+Active(anon): 739752 kB
+Inactive(anon): 397428 kB
+Active(file): 401188 kB
+Inactive(file): 293168 kB
+Unevictable: 64 kB
+Mlocked: 64 kB
+HighTotal: 1186696 kB
+HighFree: 9668 kB
+LowTotal: 873084 kB
+LowFree: 64124 kB
+SwapTotal: 1084380 kB
+SwapFree: 959016 kB
+Dirty: 400 kB
+Writeback: 0 kB
+AnonPages: 1112784 kB
+Mapped: 123640 kB
+Shmem: 16060 kB
+Slab: 94792 kB
+SReclaimable: 79516 kB
+SUnreclaim: 15276 kB
+KernelStack: 3624 kB
+PageTables: 10296 kB
+NFS_Unstable: 0 kB
+Bounce: 0 kB
+WritebackTmp: 0 kB
+CommitLimit: 2114268 kB
+Committed_AS: 3026188 kB
+VmallocTotal: 122880 kB
+VmallocUsed: 64896 kB
+VmallocChunk: 50720 kB
+HardwareCorrupted: 0 kB
+HugePages_Total: 0
+HugePages_Free: 0
+HugePages_Rsvd: 0
+HugePages_Surp: 0
+Hugepagesize: 4096 kB
+DirectMap4k: 57336 kB
+DirectMap4M: 851968 kB
+
+
+CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2
+
+Memory: 4k page, physical 2059780k(73792k free), swap 1084380k(959016k free)
+
+vm_info: OpenJDK Client VM (19.0-b09) for linux-x86 JRE (1.6.0_20-b20), built on Feb 23 2011 09:10:41 by "buildd" with gcc 4.4.5
+
+time: Mon Jun 13 12:38:04 2011
+elapsed time: 0 seconds
+
241 hs_err_pid22178.log
@@ -0,0 +1,241 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# Internal Error (classFileParser.cpp:3375), pid=22178, tid=3078306672
+# Error: ShouldNotReachHere()
+#
+# JRE version: 6.0_20-b20
+# Java VM: OpenJDK Client VM (19.0-b09 mixed mode linux-x86 )
+# Derivative: IcedTea6 1.9.7
+# Distribution: Ubuntu 10.10, package 6b20-1.9.7-0ubuntu1
+# If you would like to submit a bug report, please include
+# instructions how to reproduce the bug and visit:
+# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x08205000): JavaThread "Unknown thread" [_thread_in_vm, id=22181, stack(0xb7763000,0xb77b4000)]
+
+Stack: [0xb7763000,0xb77b4000], sp=0xb77b2800, free space=318k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [libjvm.so+0x3e95a7]
+V [libjvm.so+0x3e97f1]
+V [libjvm.so+0x17865e]
+V [libjvm.so+0x1786d9]
+V [libjvm.so+0x1201e6]
+V [libjvm.so+0x12347b]
+V [libjvm.so+0x38fdf9]
+V [libjvm.so+0x3907d2]
+V [libjvm.so+0x390bb4]
+V [libjvm.so+0x391b90]
+V [libjvm.so+0x391c4a]
+V [libjvm.so+0x391cdd]
+V [libjvm.so+0x391d36]
+V [libjvm.so+0x391e13]
+V [libjvm.so+0x392109]
+V [libjvm.so+0x3c93ef]
+V [libjvm.so+0x3c9dfc]
+V [libjvm.so+0x1d9b98]
+V [libjvm.so+0x3bd3dc]
+V [libjvm.so+0x2133ec]
+C [java+0x2238] JavaMain+0x88
+C [libpthread.so.0+0x5cc9]
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x08205000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22181, stack(0xb7763000,0xb77b4000)]
+
+VM state:not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Dynamic libraries:
+00110000-00267000 r-xp 00000000 08:02 475343 /lib/libc-2.12.1.so
+00267000-00269000 r--p 00157000 08:02 475343 /lib/libc-2.12.1.so
+00269000-0026a000 rw-p 00159000 08:02 475343 /lib/libc-2.12.1.so
+0026a000-0026d000 rw-p 00000000 00:00 0
+00469000-00470000 r-xp 00000000 08:02 476625 /lib/librt-2.12.1.so
+00470000-00471000 r--p 00006000 08:02 476625 /lib/librt-2.12.1.so
+00471000-00472000 rw-p 00007000 08:02 476625 /lib/librt-2.12.1.so
+004fd000-00510000 r-xp 00000000 08:02 475546 /lib/libnsl-2.12.1.so
+00510000-00511000 r--p 00012000 08:02 475546 /lib/libnsl-2.12.1.so
+00511000-00512000 rw-p 00013000 08:02 475546 /lib/libnsl-2.12.1.so
+00512000-00514000 rw-p 00000000 00:00 0
+0059b000-005b7000 r-xp 00000000 08:02 459160 /lib/ld-2.12.1.so
+005b7000-005b8000 r--p 0001b000 08:02 459160 /lib/ld-2.12.1.so
+005b8000-005b9000 rw-p 0001c000 08:02 459160 /lib/ld-2.12.1.so
+005cd000-005ef000 r-xp 00000000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+005ef000-005f0000 r--p 00021000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+005f0000-005f2000 rw-p 00022000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+007ff000-00814000 r-xp 00000000 08:02 476623 /lib/libpthread-2.12.1.so
+00814000-00815000 ---p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00815000-00816000 r--p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00816000-00817000 rw-p 00016000 08:02 476623 /lib/libpthread-2.12.1.so
+00817000-00819000 rw-p 00000000 00:00 0
+0085a000-00860000 r-xp 00000000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00860000-00861000 r--p 00005000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00861000-00862000 rw-p 00006000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+009a4000-009af000 r-xp 00000000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+009af000-009b0000 ---p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+009b0000-009b1000 r--p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+009b1000-009b2000 rw-p 0000c000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+009d9000-009ec000 r-xp 00000000 08:02 524511 /lib/libz.so.1.2.3.4
+009ec000-009ed000 r--p 00012000 08:02 524511 /lib/libz.so.1.2.3.4
+009ed000-009ee000 rw-p 00013000 08:02 524511 /lib/libz.so.1.2.3.4
+00a6d000-00a77000 r-xp 00000000 08:02 476290 /lib/libnss_files-2.12.1.so
+00a77000-00a78000 r--p 00009000 08:02 476290 /lib/libnss_files-2.12.1.so
+00a78000-00a79000 rw-p 0000a000 08:02 476290 /lib/libnss_files-2.12.1.so
+00ad8000-00ad9000 r-xp 00000000 00:00 0 [vdso]
+00b81000-00b83000 r-xp 00000000 08:02 475348 /lib/libdl-2.12.1.so
+00b83000-00b84000 r--p 00001000 08:02 475348 /lib/libdl-2.12.1.so
+00b84000-00b85000 rw-p 00002000 08:02 475348 /lib/libdl-2.12.1.so
+00bdb000-00be4000 r-xp 00000000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00be4000-00be5000 r--p 00008000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00be5000-00be6000 rw-p 00009000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00d3f000-00d45000 r-xp 00000000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00d45000-00d46000 r--p 00005000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00d46000-00d47000 rw-p 00006000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00db0000-00dd4000 r-xp 00000000 08:02 475350 /lib/libm-2.12.1.so
+00dd4000-00dd5000 r--p 00023000 08:02 475350 /lib/libm-2.12.1.so
+00dd5000-00dd6000 rw-p 00024000 08:02 475350 /lib/libm-2.12.1.so
+00e6f000-00e75000 r-xp 00000000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00e75000-00e76000 r--p 00006000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00e76000-00e77000 rw-p 00007000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00eda000-00edd000 r-xp 00000000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00edd000-00ede000 r--p 00002000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00ede000-00edf000 rw-p 00003000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00edf000-01332000 r-xp 00000000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01332000-01349000 r--p 00453000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01349000-01356000 rw-p 0046a000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+01356000-01772000 rw-p 00000000 00:00 0
+08048000-08051000 r-xp 00000000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08051000-08052000 r--p 00008000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08052000-08053000 rw-p 00009000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+081ff000-08262000 rw-p 00000000 00:00 0 [heap]
+9148e000-914f3000 r--s 004cb000 08:01 657443 /media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+914f3000-914fa000 rw-p 00000000 00:00 0
+914fa000-91514000 rw-p 00000000 00:00 0
+91514000-9151a000 rw-p 00000000 00:00 0
+9151a000-915bf000 rw-p 00000000 00:00 0
+915bf000-915c2000 rw-p 00000000 00:00 0
+915c2000-91614000 rw-p 00000000 00:00 0
+91614000-9161a000 rw-p 00000000 00:00 0
+9161a000-916bf000 rw-p 00000000 00:00 0
+916bf000-916c5000 rw-p 00000000 00:00 0
+916c5000-916df000 rw-p 00000000 00:00 0
+916df000-91c30000 rw-p 00000000 00:00 0
+91c30000-9c180000 rw-p 00000000 00:00 0
+9c180000-9cc30000 rw-p 00000000 00:00 0
+9cc30000-b16e0000 rw-p 00000000 00:00 0
+b16e0000-b22e0000 rw-p 00000000 00:00 0
+b22e0000-b56e0000 rw-p 00000000 00:00 0
+b56e3000-b56e4000 rw-p 00000000 00:00 0
+b56e4000-b5763000 rw-p 00000000 00:00 0
+b5763000-b5793000 rwxp 00000000 00:00 0
+b5793000-b7763000 rw-p 00000000 00:00 0
+b7763000-b7766000 ---p 00000000 00:00 0
+b7766000-b77b7000 rw-p 00000000 00:00 0
+b77c8000-b77d0000 rw-s 00000000 08:02 747561 /tmp/hsperfdata_shuairan/22178
+b77d0000-b77d1000 rw-p 00000000 00:00 0
+b77d1000-b77d2000 r--p 00000000 00:00 0
+b77d2000-b77d4000 rw-p 00000000 00:00 0
+bfcbb000-bfcdc000 rw-p 00000000 00:00 0 [stack]
+
+VM Arguments:
+jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:/media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+java_command: sr.listener.NetworkListener
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+USERNAME=shuairan
+LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
+SHELL=/bin/bash
+DISPLAY=:0.0
+
+Signal Handlers:
+SIGSEGV: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGBUS: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGFPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGPIPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGXFSZ: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGILL: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGUSR2: [libjvm.so+0x30c900], sa_mask[0]=0x00000004, sa_flags=0x10000004
+SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+
+
+--------------- S Y S T E M ---------------
+
+OS:Ubuntu 10.10 (maverick)
+uname:Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686
+libc:glibc 2.12.1 NPTL 2.12.1
+rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
+load average:0.09 0.15 0.20
+
+/proc/meminfo:
+MemTotal: 2059780 kB
+MemFree: 73552 kB
+Buffers: 78300 kB
+Cached: 632388 kB
+SwapCached: 10112 kB
+Active: 1141276 kB
+Inactive: 690428 kB
+Active(anon): 739992 kB
+Inactive(anon): 397148 kB
+Active(file): 401284 kB
+Inactive(file): 293280 kB
+Unevictable: 64 kB
+Mlocked: 64 kB
+HighTotal: 1186696 kB
+HighFree: 8924 kB
+LowTotal: 873084 kB
+LowFree: 64628 kB
+SwapTotal: 1084380 kB
+SwapFree: 959016 kB
+Dirty: 228 kB
+Writeback: 0 kB
+AnonPages: 1112816 kB
+Mapped: 123640 kB
+Shmem: 16060 kB
+Slab: 94756 kB
+SReclaimable: 79476 kB
+SUnreclaim: 15280 kB
+KernelStack: 3616 kB
+PageTables: 10292 kB
+NFS_Unstable: 0 kB
+Bounce: 0 kB
+WritebackTmp: 0 kB
+CommitLimit: 2114268 kB
+Committed_AS: 3026188 kB
+VmallocTotal: 122880 kB
+VmallocUsed: 64896 kB
+VmallocChunk: 50720 kB
+HardwareCorrupted: 0 kB
+HugePages_Total: 0
+HugePages_Free: 0
+HugePages_Rsvd: 0
+HugePages_Surp: 0
+Hugepagesize: 4096 kB
+DirectMap4k: 57336 kB
+DirectMap4M: 851968 kB
+
+
+CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2
+
+Memory: 4k page, physical 2059780k(73552k free), swap 1084380k(959016k free)
+
+vm_info: OpenJDK Client VM (19.0-b09) for linux-x86 JRE (1.6.0_20-b20), built on Feb 23 2011 09:10:41 by "buildd" with gcc 4.4.5
+
+time: Mon Jun 13 12:38:30 2011
+elapsed time: 0 seconds
+
241 hs_err_pid22316.log
@@ -0,0 +1,241 @@
+#
+# A fatal error has been detected by the Java Runtime Environment:
+#
+# Internal Error (classFileParser.cpp:3375), pid=22316, tid=3078269808
+# Error: ShouldNotReachHere()
+#
+# JRE version: 6.0_20-b20
+# Java VM: OpenJDK Client VM (19.0-b09 mixed mode linux-x86 )
+# Derivative: IcedTea6 1.9.7
+# Distribution: Ubuntu 10.10, package 6b20-1.9.7-0ubuntu1
+# If you would like to submit a bug report, please include
+# instructions how to reproduce the bug and visit:
+# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
+#
+
+--------------- T H R E A D ---------------
+
+Current thread (0x080b8000): JavaThread "Unknown thread" [_thread_in_vm, id=22317, stack(0xb775a000,0xb77ab000)]
+
+Stack: [0xb775a000,0xb77ab000], sp=0xb77a9800, free space=318k
+Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
+V [libjvm.so+0x3e95a7]
+V [libjvm.so+0x3e97f1]
+V [libjvm.so+0x17865e]
+V [libjvm.so+0x1786d9]
+V [libjvm.so+0x1201e6]
+V [libjvm.so+0x12347b]
+V [libjvm.so+0x38fdf9]
+V [libjvm.so+0x3907d2]
+V [libjvm.so+0x390bb4]
+V [libjvm.so+0x391b90]
+V [libjvm.so+0x391c4a]
+V [libjvm.so+0x391cdd]
+V [libjvm.so+0x391d36]
+V [libjvm.so+0x391e13]
+V [libjvm.so+0x392109]
+V [libjvm.so+0x3c93ef]
+V [libjvm.so+0x3c9dfc]
+V [libjvm.so+0x1d9b98]
+V [libjvm.so+0x3bd3dc]
+V [libjvm.so+0x2133ec]
+C [java+0x2238] JavaMain+0x88
+C [libpthread.so.0+0x5cc9]
+
+
+--------------- P R O C E S S ---------------
+
+Java Threads: ( => current thread )
+
+Other Threads:
+
+=>0x080b8000 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=22317, stack(0xb775a000,0xb77ab000)]
+
+VM state:not at safepoint (not fully initialized)
+
+VM Mutex/Monitor currently owned by a thread: None
+
+Dynamic libraries:
+00110000-00116000 r-xp 00000000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00116000-00117000 r--p 00006000 08:02 475551 /lib/libnss_compat-2.12.1.so
+00117000-00118000 rw-p 00007000 08:02 475551 /lib/libnss_compat-2.12.1.so
+0026a000-0027d000 r-xp 00000000 08:02 475546 /lib/libnsl-2.12.1.so
+0027d000-0027e000 r--p 00012000 08:02 475546 /lib/libnsl-2.12.1.so
+0027e000-0027f000 rw-p 00013000 08:02 475546 /lib/libnsl-2.12.1.so
+0027f000-00281000 rw-p 00000000 00:00 0
+002f8000-00303000 r-xp 00000000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00303000-00304000 ---p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00304000-00305000 r--p 0000b000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00305000-00306000 rw-p 0000c000 08:02 101176 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libverify.so
+00313000-00319000 r-xp 00000000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+00319000-0031a000 r--p 00005000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+0031a000-0031b000 rw-p 00006000 08:02 101140 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libzip.so
+003b4000-003b5000 r-xp 00000000 00:00 0 [vdso]
+004ab000-004cd000 r-xp 00000000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+004cd000-004ce000 r--p 00021000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+004ce000-004d0000 rw-p 00022000 08:02 101130 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/libjava.so
+00530000-00543000 r-xp 00000000 08:02 524511 /lib/libz.so.1.2.3.4
+00543000-00544000 r--p 00012000 08:02 524511 /lib/libz.so.1.2.3.4
+00544000-00545000 rw-p 00013000 08:02 524511 /lib/libz.so.1.2.3.4
+007b7000-007d3000 r-xp 00000000 08:02 459160 /lib/ld-2.12.1.so
+007d3000-007d4000 r--p 0001b000 08:02 459160 /lib/ld-2.12.1.so
+007d4000-007d5000 rw-p 0001c000 08:02 459160 /lib/ld-2.12.1.so
+007e3000-007ed000 r-xp 00000000 08:02 476290 /lib/libnss_files-2.12.1.so
+007ed000-007ee000 r--p 00009000 08:02 476290 /lib/libnss_files-2.12.1.so
+007ee000-007ef000 rw-p 0000a000 08:02 476290 /lib/libnss_files-2.12.1.so
+00843000-00849000 r-xp 00000000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00849000-0084a000 r--p 00005000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+0084a000-0084b000 rw-p 00006000 08:02 101162 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/native_threads/libhpi.so
+00a0a000-00a13000 r-xp 00000000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00a13000-00a14000 r--p 00008000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00a14000-00a15000 rw-p 00009000 08:02 476292 /lib/libnss_nis-2.12.1.so
+00a3b000-00a3e000 r-xp 00000000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00a3e000-00a3f000 r--p 00002000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00a3f000-00a40000 rw-p 00003000 08:02 101146 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/jli/libjli.so
+00b2f000-00b53000 r-xp 00000000 08:02 475350 /lib/libm-2.12.1.so
+00b53000-00b54000 r--p 00023000 08:02 475350 /lib/libm-2.12.1.so
+00b54000-00b55000 rw-p 00024000 08:02 475350 /lib/libm-2.12.1.so
+00b8f000-00b96000 r-xp 00000000 08:02 476625 /lib/librt-2.12.1.so
+00b96000-00b97000 r--p 00006000 08:02 476625 /lib/librt-2.12.1.so
+00b97000-00b98000 rw-p 00007000 08:02 476625 /lib/librt-2.12.1.so
+00ca0000-00cb5000 r-xp 00000000 08:02 476623 /lib/libpthread-2.12.1.so
+00cb5000-00cb6000 ---p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00cb6000-00cb7000 r--p 00015000 08:02 476623 /lib/libpthread-2.12.1.so
+00cb7000-00cb8000 rw-p 00016000 08:02 476623 /lib/libpthread-2.12.1.so
+00cb8000-00cba000 rw-p 00000000 00:00 0
+00d5a000-00d5c000 r-xp 00000000 08:02 475348 /lib/libdl-2.12.1.so
+00d5c000-00d5d000 r--p 00001000 08:02 475348 /lib/libdl-2.12.1.so
+00d5d000-00d5e000 rw-p 00002000 08:02 475348 /lib/libdl-2.12.1.so
+00ddc000-00f33000 r-xp 00000000 08:02 475343 /lib/libc-2.12.1.so
+00f33000-00f35000 r--p 00157000 08:02 475343 /lib/libc-2.12.1.so
+00f35000-00f36000 rw-p 00159000 08:02 475343 /lib/libc-2.12.1.so
+00f36000-00f39000 rw-p 00000000 00:00 0
+00f39000-0138c000 r-xp 00000000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+0138c000-013a3000 r--p 00453000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+013a3000-013b0000 rw-p 0046a000 08:02 101156 /usr/lib/jvm/java-6-openjdk/jre/lib/i386/client/libjvm.so
+013b0000-017cc000 rw-p 00000000 00:00 0
+08048000-08051000 r-xp 00000000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08051000-08052000 r--p 00008000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+08052000-08053000 rw-p 00009000 08:02 624546 /usr/lib/jvm/java-6-openjdk/jre/bin/java
+080b2000-08115000 rw-p 00000000 00:00 0 [heap]
+9147e000-914e3000 r--s 004cb000 08:01 657443 /media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+914e3000-914ea000 rw-p 00000000 00:00 0
+914ea000-91504000 rw-p 00000000 00:00 0
+91504000-9150a000 rw-p 00000000 00:00 0
+9150a000-915af000 rw-p 00000000 00:00 0
+915af000-915b2000 rw-p 00000000 00:00 0
+915b2000-91604000 rw-p 00000000 00:00 0
+91604000-9160a000 rw-p 00000000 00:00 0
+9160a000-916af000 rw-p 00000000 00:00 0
+916af000-916b5000 rw-p 00000000 00:00 0
+916b5000-916cf000 rw-p 00000000 00:00 0
+916cf000-91c20000 rw-p 00000000 00:00 0
+91c20000-9c170000 rw-p 00000000 00:00 0
+9c170000-9cc20000 rw-p 00000000 00:00 0
+9cc20000-b16d0000 rw-p 00000000 00:00 0
+b16d0000-b22d0000 rw-p 00000000 00:00 0
+b22d0000-b56d0000 rw-p 00000000 00:00 0
+b56da000-b56db000 rw-p 00000000 00:00 0
+b56db000-b575a000 rw-p 00000000 00:00 0
+b575a000-b578a000 rwxp 00000000 00:00 0
+b578a000-b775a000 rw-p 00000000 00:00 0
+b775a000-b775d000 ---p 00000000 00:00 0
+b775d000-b77ae000 rw-p 00000000 00:00 0
+b77bf000-b77c7000 rw-s 00000000 08:02 746373 /tmp/hsperfdata_shuairan/22316
+b77c7000-b77c8000 rw-p 00000000 00:00 0
+b77c8000-b77c9000 r--p 00000000 00:00 0
+b77c9000-b77cb000 rw-p 00000000 00:00 0
+bfc1a000-bfc3b000 rw-p 00000000 00:00 0 [stack]
+
+VM Arguments:
+jvm_args: -Dfile.encoding=UTF-8 -Xbootclasspath:/media/20gb/android/android-sdk-linux_x86/platforms/android-8/android.jar
+java_command: sr.listener.NetworkListener
+Launcher Type: SUN_STANDARD
+
+Environment Variables:
+PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
+USERNAME=shuairan
+LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:
+SHELL=/bin/bash
+DISPLAY=:0.0
+
+Signal Handlers:
+SIGSEGV: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGBUS: [libjvm.so+0x3ea1b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGFPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGPIPE: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGXFSZ: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGILL: [libjvm.so+0x30d250], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
+SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGUSR2: [libjvm.so+0x30c900], sa_mask[0]=0x00000004, sa_flags=0x10000004
+SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
+
+
+--------------- S Y S T E M ---------------
+
+OS:Ubuntu 10.10 (maverick)
+uname:Linux 2.6.35-28-generic #50-Ubuntu SMP Fri Mar 18 19:00:26 UTC 2011 i686
+libc:glibc 2.12.1 NPTL 2.12.1
+rlimit: STACK 8192k, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
+load average:0.91 0.34 0.26
+
+/proc/meminfo:
+MemTotal: 2059780 kB
+MemFree: 435296 kB
+Buffers: 81496 kB
+Cached: 601152 kB
+SwapCached: 7592 kB
+Active: 997848 kB
+Inactive: 475064 kB
+Active(anon): 636264 kB
+Inactive(anon): 167976 kB
+Active(file): 361584 kB
+Inactive(file): 307088 kB
+Unevictable: 64 kB
+Mlocked: 64 kB
+HighTotal: 1186696 kB
+HighFree: 102544 kB
+LowTotal: 873084 kB
+LowFree: 332752 kB
+SwapTotal: 1084380 kB
+SwapFree: 1051056 kB
+Dirty: 1476 kB
+Writeback: 0 kB
+AnonPages: 784340 kB
+Mapped: 112552 kB
+Shmem: 13912 kB
+Slab: 94324 kB
+SReclaimable: 79404 kB
+SUnreclaim: 14920 kB
+KernelStack: 3304 kB
+PageTables: 9372 kB
+NFS_Unstable: 0 kB
+Bounce: 0 kB
+WritebackTmp: 0 kB
+CommitLimit: 2114268 kB
+Committed_AS: 2361308 kB
+VmallocTotal: 122880 kB
+VmallocUsed: 64896 kB
+VmallocChunk: 50720 kB
+HardwareCorrupted: 0 kB
+HugePages_Total: 0
+HugePages_Free: 0
+HugePages_Rsvd: 0
+HugePages_Surp: 0
+Hugepagesize: 4096 kB
+DirectMap4k: 57336 kB
+DirectMap4M: 851968 kB
+
+
+CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 13 stepping 8, cmov, cx8, fxsr, mmx, sse, sse2
+
+Memory: 4k page, physical 2059780k(435296k free), swap 1084380k(1051056k free)
+
+vm_info: OpenJDK Client VM (19.0-b09) for linux-x86 JRE (1.6.0_20-b20), built on Feb 23 2011 09:10:41 by "buildd" with gcc 4.4.5
+
+time: Mon Jun 13 12:41:01 2011
+elapsed time: 0 seconds
+
36 proguard.cfg
@@ -0,0 +1,36 @@
+-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 * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-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 *;
+}
BIN  res/drawable-hdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  res/drawable-ldpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN  res/drawable-mdpi/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 res/layout/main.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent">
+ <LinearLayout android:id="@+id/LinearLayout1" android:layout_gravity="right" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="wrap_content">
+ <Button android:text="Video Test" android:id="@+id/button_video" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
+ <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Audio Test" android:id="@+id/button_audio" android:layout_gravity="left"></Button>
+ <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Options" android:id="@+id/button_pref"></Button>
+ <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Kill" android:id="@+id/button2" android:layout_gravity="left"></Button>
+
+ </LinearLayout>
+ <sr.listener.MjpegView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/mjpegView1"></sr.listener.MjpegView>
+</LinearLayout>
BIN  res/raw/door.wav
Binary file not shown
7 res/values/strings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="hello">Hello World, TheListenerActivity!</string>
+ <string name="app_name">TheListener</string>
+ <string name="video_start">Start Video</string>
+ <string name="video_stop">Stop Video</string>
+</resources>
9 res/xml/preferences.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <PreferenceCategory>
+ <EditTextPreference android:summary="The URL of the video which should be played" android:title="Video URL" android:key="video_url" android:defaultValue="http://192.168.1.126:81/videostream.cgi?user=admin&amp;pwd="></EditTextPreference>
+ <EditTextPreference android:title="Port" android:key="port" android:defaultValue="4444" android:summary="listen on PORT for event triggering"></EditTextPreference>
+ </PreferenceCategory>
+
+</PreferenceScreen>
61 src/sr/listener/CustomMediaPlayer.java
@@ -0,0 +1,61 @@
+package sr.listener;
+
+import android.content.Context;
+import android.media.MediaPlayer;
+import android.media.MediaPlayer.OnCompletionListener;
+import android.util.Log;
+
+public class CustomMediaPlayer extends MediaPlayer implements OnCompletionListener {
+
+ private static final String TAG = "CustomMediaPlayer";
+ MediaPlayer mp;
+ private int interval = 0;
+ private int count = 0;
+ private int repeat;
+
+ public CustomMediaPlayer(Context context, int resid) {
+ mp = MediaPlayer.create(context, resid);
+ mp.setOnCompletionListener(this);
+ }
+
+ /**
+ * @param repeat play it 'repeat' times
+ */
+ public void play(int repeat) {
+ this.repeat = repeat;
+ Log.v(TAG, "playing: " + repeat + " times");
+
+ int i = 0;
+ do {
+ if (mp.isPlaying()) {
+ //Log.v(TAG, "already playing...");
+ continue;
+ }
+
+ mp.start();
+ i++;
+
+ try {
+ Thread.sleep(interval);
+ } catch (InterruptedException e) {
+
+ e.printStackTrace();
+ }
+
+ } while (i<=repeat);
+
+ }
+
+ public void onCompletion(MediaPlayer arg0) {
+
+ }
+
+ public int getInterval() {
+ return interval;
+ }
+
+ public void setInterval(int interval) {
+ this.interval = interval;
+ }
+}
+
19 src/sr/listener/JSONProtocol.java
@@ -0,0 +1,19 @@
+package sr.listener;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+public class JSONProtocol {
+
+ public String processInput(String theInput) {
+ JSONObject jsobj = null;
+ try {
+ jsobj = new JSONObject(theInput);
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ return "ERROR: Not a JSON string";
+ }
+ return theInput;
+ }
+}
82 src/sr/listener/MjpegInputStream.java
@@ -0,0 +1,82 @@
+package sr.listener;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.util.Properties;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.DefaultHttpClient;
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
+public class MjpegInputStream extends DataInputStream {
+ private final byte[] SOI_MARKER = { (byte) 0xFF, (byte) 0xD8 };
+ private final byte[] EOF_MARKER = { (byte) 0xFF, (byte) 0xD9 };
+ private final String CONTENT_LENGTH = "Content-Length";
+ private final static int HEADER_MAX_LENGTH = 100;
+ private final static int FRAME_MAX_LENGTH = 40000 + HEADER_MAX_LENGTH;
+ private int mContentLength = -1;
+
+ public static MjpegInputStream read(String url) {
+ HttpResponse res;
+ DefaultHttpClient httpclient = new DefaultHttpClient();
+ try {
+ res = httpclient.execute(new HttpGet(URI.create(url)));
+ return new MjpegInputStream(res.getEntity().getContent());
+ } catch (ClientProtocolException e) {
+ } catch (IOException e) {}
+ return null;
+ }
+
+ public MjpegInputStream(InputStream in) { super(new BufferedInputStream(in, FRAME_MAX_LENGTH)); }
+
+ private int getEndOfSeqeunce(DataInputStream in, byte[] sequence) throws IOException {
+ int seqIndex = 0;
+ byte c;
+ for(int i=0; i < FRAME_MAX_LENGTH; i++) {
+ c = (byte) in.readUnsignedByte();
+ if(c == sequence[seqIndex]) {
+ seqIndex++;
+ if(seqIndex == sequence.length) return i + 1;
+ } else seqIndex = 0;
+ }
+ return -1;
+ }
+
+ private int getStartOfSequence(DataInputStream in, byte[] sequence) throws IOException {
+ int end = getEndOfSeqeunce(in, sequence);
+ return (end < 0) ? (-1) : (end - sequence.length);
+ }
+
+ private int parseContentLength(byte[] headerBytes) throws IOException, NumberFormatException {
+ ByteArrayInputStream headerIn = new ByteArrayInputStream(headerBytes);
+ Properties props = new Properties();
+ props.load(headerIn);
+ return Integer.parseInt(props.getProperty(CONTENT_LENGTH));
+ }
+
+ public Bitmap readMjpegFrame() throws IOException {
+ mark(FRAME_MAX_LENGTH);
+ int headerLen = getStartOfSequence(this, SOI_MARKER);
+ reset();
+ byte[] header = new byte[headerLen];
+ readFully(header);
+ try {
+ mContentLength = parseContentLength(header);
+ } catch (NumberFormatException nfe) {
+ mContentLength = getEndOfSeqeunce(this, EOF_MARKER);
+ }
+ reset();
+ byte[] frameData = new byte[mContentLength];
+ skipBytes(headerLen);
+ readFully(frameData);
+ return BitmapFactory.decodeStream(new ByteArrayInputStream(frameData));
+ }
+}
222 src/sr/listener/MjpegView.java
@@ -0,0 +1,222 @@
+package sr.listener;
+
+import java.io.IOException;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffXfermode;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.SurfaceHolder;
+import android.view.SurfaceView;
+
+public class MjpegView extends SurfaceView implements SurfaceHolder.Callback {
+ public final static int POSITION_UPPER_LEFT = 9;
+ public final static int POSITION_UPPER_RIGHT = 3;
+ public final static int POSITION_LOWER_LEFT = 12;
+ public final static int POSITION_LOWER_RIGHT = 6;
+
+ public final static int SIZE_STANDARD = 1;
+ public final static int SIZE_BEST_FIT = 4;
+ public final static int SIZE_FULLSCREEN = 8;
+
+ private MjpegViewThread thread;
+ private MjpegInputStream mIn = null;
+ private boolean showFps = false;
+ private boolean mRun = false;
+ private boolean surfaceDone = false;
+ private Paint overlayPaint;
+ private int overlayTextColor;
+ private int overlayBackgroundColor;
+ private int ovlPos;
+ private int dispWidth;
+ private int dispHeight;
+ private int displayMode;
+
+ public class MjpegViewThread extends Thread {
+ private SurfaceHolder mSurfaceHolder;
+ private int frameCounter = 0;
+ private long start;
+ private Bitmap ovl;
+
+ public MjpegViewThread(SurfaceHolder surfaceHolder, Context context) { mSurfaceHolder = surfaceHolder; }
+
+ private Rect destRect(int bmw, int bmh) {
+ int tempx;
+ int tempy;
+ if (displayMode == MjpegView.SIZE_STANDARD) {
+ tempx = (dispWidth / 2) - (bmw / 2);
+ tempy = (dispHeight / 2) - (bmh / 2);
+ return new Rect(tempx, tempy, bmw + tempx, bmh + tempy);
+ }
+ if (displayMode == MjpegView.SIZE_BEST_FIT) {
+ float bmasp = (float) bmw / (float) bmh;
+ bmw = dispWidth;
+ bmh = (int) (dispWidth / bmasp);
+ if (bmh > dispHeight) {
+ bmh = dispHeight;
+ bmw = (int) (dispHeight * bmasp);
+ }
+ tempx = (dispWidth / 2) - (bmw / 2);
+ tempy = (dispHeight / 2) - (bmh / 2);
+ return new Rect(tempx, tempy, bmw + tempx, bmh + tempy);
+ }
+ if (displayMode == MjpegView.SIZE_FULLSCREEN) return new Rect(0, 0, dispWidth, dispHeight);
+ return null;
+ }
+
+ public void setSurfaceSize(int width, int height) {
+ synchronized(mSurfaceHolder) {
+ dispWidth = width;
+ dispHeight = height;
+ }
+ }
+
+ private Bitmap makeFpsOverlay(Paint p, String text) {
+ Rect b = new Rect();
+ p.getTextBounds(text, 0, text.length(), b);
+ int bwidth = b.width()+2;
+ int bheight = b.height()+2;
+ Bitmap bm = Bitmap.createBitmap(bwidth, bheight, Bitmap.Config.ARGB_8888);
+ Canvas c = new Canvas(bm);
+ p.setColor(overlayBackgroundColor);
+ c.drawRect(0, 0, bwidth, bheight, p);
+ p.setColor(overlayTextColor);
+ c.drawText(text, -b.left+1, (bheight/2)-((p.ascent()+p.descent())/2)+1, p);
+ return bm;
+ }
+
+ public void run() {
+ start = System.currentTimeMillis();
+ PorterDuffXfermode mode = new PorterDuffXfermode(PorterDuff.Mode.DST_OVER);
+ Bitmap bm;
+ int width;
+ int height;
+ Rect destRect;
+ Canvas c = null;
+ Paint p = new Paint();
+ String fps = "";
+ while (mRun) {
+ if(surfaceDone) {
+ try {
+ c = mSurfaceHolder.lockCanvas();
+ synchronized (mSurfaceHolder) {
+ try {
+ bm = mIn.readMjpegFrame();
+ destRect = destRect(bm.getWidth(),bm.getHeight());
+ c.drawColor(Color.BLACK);
+ c.drawBitmap(bm, null, destRect, p);
+ if(showFps) {
+ p.setXfermode(mode);
+ if(ovl != null) {
+ height = ((ovlPos & 1) == 1) ? destRect.top : destRect.bottom-ovl.getHeight();
+ width = ((ovlPos & 8) == 8) ? destRect.left : destRect.right -ovl.getWidth();
+ c.drawBitmap(ovl, width, height, null);
+ }
+ p.setXfermode(null);
+ frameCounter++;
+ if((System.currentTimeMillis() - start) >= 1000) {
+ fps = String.valueOf(frameCounter)+"fps";
+ frameCounter = 0;
+ start = System.currentTimeMillis();
+ ovl = makeFpsOverlay(overlayPaint, fps);
+ }
+ }
+ } catch (IOException e) {}
+ }
+ } finally {
+ if (c != null) {
+ mSurfaceHolder.unlockCanvasAndPost(c);
+ }
+ }
+ }
+ }
+ c = mSurfaceHolder.lockCanvas();
+ c.drawColor(Color.BLACK);
+ mSurfaceHolder.unlockCanvasAndPost(c);
+ }
+ }
+
+ private void init(Context context) {
+ SurfaceHolder holder = getHolder();
+ holder.addCallback(this);
+ thread = new MjpegViewThread(holder, context);
+ setFocusable(true);
+ overlayPaint = new Paint();
+ overlayPaint.setTextAlign(Paint.Align.LEFT);
+ overlayPaint.setTextSize(12);
+ overlayPaint.setTypeface(Typeface.DEFAULT);
+ overlayTextColor = Color.WHITE;
+ overlayBackgroundColor = Color.BLACK;
+ ovlPos = MjpegView.POSITION_LOWER_RIGHT;
+ displayMode = MjpegView.SIZE_STANDARD;
+ dispWidth = getWidth();
+ dispHeight = getHeight();
+ }
+
+ public void startPlayback() {
+ if(mIn != null) {
+ mRun = true;
+ thread.start();
+ }
+ }
+
+ public void stopPlayback() {
+ mRun = false;
+ boolean retry = true;
+ while(retry) {
+ try {
+ thread.join();
+ retry = false;
+ } catch (InterruptedException e) {}
+ }
+ }
+
+ public boolean isPlaying() {
+ return mRun;
+ }
+
+ public MjpegView(Context context, AttributeSet attrs) { super(context, attrs); init(context); }
+ public void surfaceChanged(SurfaceHolder holder, int f, int w, int h) { thread.setSurfaceSize(w, h); }
+
+ public void surfaceDestroyed(SurfaceHolder holder) {
+ surfaceDone = false;
+ stopPlayback();
+ }
+
+ public MjpegView(Context context) {
+ super(context);
+ init(context);
+ }
+ public void surfaceCreated(SurfaceHolder holder) {
+ surfaceDone = true;
+ }
+ public void showFps(boolean b) {
+ showFps = b;
+ }
+ public void setSource(MjpegInputStream source) {
+ mIn = source;
+ startPlayback();
+ }
+ public void setOverlayPaint(Paint p) {
+ overlayPaint = p;
+ }
+ public void setOverlayTextColor(int c) {
+ overlayTextColor = c;
+ }
+ public void setOverlayBackgroundColor(int c) {
+ overlayBackgroundColor = c;
+ }
+ public void setOverlayPosition(int p) {
+ ovlPos = p;
+ }
+ public void setDisplayMode(int s) {
+ displayMode = s;
+ }
+}
10 src/sr/listener/NetworkEvent.java
@@ -0,0 +1,10 @@
+package sr.listener;
+
+public class NetworkEvent {
+
+ String eventtype;
+
+ public NetworkEvent(String type) {
+ this.eventtype = type;
+ }
+}
5 src/sr/listener/NetworkListener.java
@@ -0,0 +1,5 @@
+package sr.listener;
+
+public interface NetworkListener {
+ public void eventReceived( NetworkEvent event );
+}
73 src/sr/listener/NetworkObserver.java
@@ -0,0 +1,73 @@
+package sr.listener;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import android.util.Log;
+
+public class NetworkObserver implements Runnable {
+ private static final String TAG = "NetworkObserver";
+ public static int DEFAULT_PORT = 4444;
+ private List<NetworkListener> _listeners = new ArrayList<NetworkListener>();
+
+ private int port;
+
+ public NetworkObserver() {
+ this(DEFAULT_PORT);
+ }
+
+ public NetworkObserver(int port) {
+ this.port = port;
+ }
+
+ public void run() {
+
+ Log.v(TAG, "Starting Network Listener");
+
+ ServerSocket serverSocket = null;
+ boolean listening = true;
+
+ try {
+ serverSocket = new ServerSocket(port);
+ Log.v(TAG, "Listening on port: " + port);
+ } catch (IOException e) {
+ Log.e(TAG, "Could not listen on port: " + port);
+ System.exit(-1);
+ }
+
+ try {
+ while (listening)
+ new NetworkObserverThread(serverSocket.accept(), this).start();
+
+ serverSocket.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+
+ public synchronized void addNetworkListener( NetworkListener l ) {
+ _listeners.add( l );
+ }
+
+ public synchronized void removeNetworkListener( NetworkListener l ) {
+ _listeners.remove( l );
+ }
+
+ protected synchronized void _fireEvent(String event) {
+ Log.v(TAG, "Event fired: " + event);
+ NetworkEvent netevent = new NetworkEvent(event);
+ Iterator<NetworkListener> listeners = _listeners.iterator();
+ while( listeners.hasNext() ) {
+ ( (NetworkListener) listeners.next() ).eventReceived( netevent );
+ }
+ }
+}
78 src/sr/listener/NetworkObserverThread.java
@@ -0,0 +1,78 @@
+package sr.listener;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+
+public class NetworkObserverThread extends Thread {
+
+ private static final String TAG = "NetworkObserverThread";
+ private static final String EVENTSTR = "event=";
+ private Socket socket = null;
+ private NetworkObserver parent;
+
+ public NetworkObserverThread(Socket socket, NetworkObserver parent) {
+ super("NetworkObserverThread");
+ this.socket = socket;
+ this.parent = parent;
+ }
+
+ public void run() {
+ Looper.prepare();
+
+ try {
+ PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
+ BufferedReader in = new BufferedReader(
+ new InputStreamReader(
+ socket.getInputStream()));
+
+ String inputLine, outputLine;
+ //JSONProtocol jsp = new JSONProtocol();
+ //outputLine = kkp.processInput(null);
+ //out.println(outputLine);
+ String input = "";
+
+ while ((inputLine = in.readLine()) != null) {
+ /*outputLine = kkp.processInput(inputLine);
+ Log.v(TAG, "output via network: " + outputLine);
+ out.println(outputLine);
+ */
+ if (inputLine.startsWith(EVENTSTR)) {
+ String event = inputLine.substring(EVENTSTR.length());
+ this.fireEvent(event);
+ out.println("fire event: " + event);
+ break;
+ }
+ else {
+ out.println("Message must start with 'event='");
+ }
+
+ if (inputLine.equals("exit"))
+ break;
+
+ input=input + inputLine;
+ //out.println("I got:" + inputLine);
+ }
+
+ out.close();
+ in.close();
+ socket.close();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ Looper.loop();
+ }
+
+ private void fireEvent(String eventtype) {
+ this.parent._fireEvent(eventtype);
+ }
+}
+
+
14 src/sr/listener/Preferences.java
@@ -0,0 +1,14 @@
+package sr.listener;
+
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+
+public class Preferences extends PreferenceActivity {
+
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.preferences);
+ }
+}
241 src/sr/listener/TheListenerActivity.java
@@ -0,0 +1,241 @@
+package sr.listener;
+
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.Enumeration;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.MediaController;
+import android.widget.VideoView;
+
+public class TheListenerActivity extends Activity implements NetworkListener, OnSharedPreferenceChangeListener {
+ CustomMediaPlayer mp;
+
+ private static final String TAG = "TheListenerActivity";
+ private static final String VERSION = "0.0.7";
+
+ protected static final int START_VIDEO = 0;
+ SharedPreferences preferences;
+ private static final int MENU_QUIT = 1;
+
+ private NetworkObserver listener;
+ private MjpegView mv;
+
+ Handler mHandler = new Handler(){
+ @Override
+ public void handleMessage(Message msg) {
+ switch(msg.what){
+ case START_VIDEO:
+ /*Refresh UI*/
+ //showVideo();
+ showMjpegVideo();
+ break;
+ }
+ }
+ };
+
+ private Button button_video;
+
+ /* Creates the menu items */
+ public boolean onCreateOptionsMenu(Menu menu) {
+ menu.add(0, MENU_QUIT, 0, "Quit");
+ return true;
+ }
+
+ /* Handles item selections */
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case MENU_QUIT:
+ finish();
+ return true;
+ }
+ return false;
+ }
+
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ if (key.equals("port")) {
+ startNetworkListener();
+ }
+ }
+
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+
+ preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ preferences.registerOnSharedPreferenceChangeListener(this);
+
+ mp = new CustomMediaPlayer(this, R.raw.door);
+ mp.setInterval(0);
+ mv = (MjpegView) findViewById(R.id.mjpegView1);
+
+ Button button_audio = (Button) findViewById(R.id.button_audio);
+ button_audio.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ mp.play(5);
+ }
+ });
+
+ button_video = (Button) findViewById(R.id.button_video);
+ button_video.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ //showVideo();
+ if (mv.isPlaying()) {
+ Log.v(TAG, "is playing");
+ button_video.setText(R.string.video_start);
+ mv.stopPlayback();
+ }
+ else {
+ Log.v(TAG, "is not playing");
+ showMjpegVideo();
+ }
+ }
+ });
+
+ Button button_pref = (Button) findViewById(R.id.button_pref);
+ button_pref.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ Intent settingsActivity = new Intent(getBaseContext(), Preferences.class);
+ startActivity(settingsActivity);
+ }
+ });
+
+ Button finish = (Button) findViewById(R.id.button2);
+ finish.setOnClickListener(new OnClickListener() {
+ public void onClick(View v) {
+ finish();
+ //String str = getLocalIpAddress();
+ //Log.e(TAG, str);
+ }
+ });
+
+ startNetworkListener();
+
+ Thread NeObTh = new Thread(listener);
+ NeObTh.start();
+ }
+
+ private void startNetworkListener() {
+ int port = getIntPrefs("port", NetworkObserver.DEFAULT_PORT);
+ Log.v(TAG, "starting Network Observer on port: " + port);
+ listener = new NetworkObserver(port);
+ listener.addNetworkListener(this);
+ }
+
+ public int getIntPrefs(String key, int defValue) {
+ String value = preferences.getString(key, null);
+ return value == null ? defValue : Integer.valueOf(value);
+ }
+
+ public String getLocalIpAddress() {
+ try {
+ for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
+ NetworkInterface intf = en.nextElement();
+ for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
+ InetAddress inetAddress = enumIpAddr.nextElement();
+ if (!inetAddress.isLoopbackAddress()) {
+ return inetAddress.getHostAddress().toString();
+ }
+ }
+ }
+ } catch (SocketException ex) {
+ Log.e(TAG, ex.toString());
+ }
+ return null;
+ }
+
+
+ private void showVideo() {
+ VideoView videoView = (VideoView) findViewById(R.id.videoView1);
+ MediaController mediaController = new MediaController(this);
+ mediaController.setAnchorView(videoView);
+ // Set video link (mp4 format )
+
+ //String url = "http://192.168.25.23:8081/file.avi";
+ String url = preferences.getString("video_url", "");
+ Log.v(TAG, "using URL: " + url);
+ Uri video = Uri.parse(url);
+ videoView.setMediaController(mediaController);
+ videoView.setVideoURI(video);
+ videoView.start();
+ }
+
+
+ private void showMjpegVideo() {
+ //VideoView videoView = (VideoView) findViewById(R.id.videoView1);
+ String url = preferences.getString("video_url", "");
+ Log.v(TAG, "starting video playback: " + url);
+ button_video.setText(R.string.video_stop);
+
+ //mv = new MjpegView(this);
+ //setContentView(mv);
+ mv.setSource(MjpegInputStream.read(url));
+ mv.setDisplayMode(MjpegView.SIZE_BEST_FIT);
+ mv.showFps(false);
+ }
+
+ public void eventReceived(NetworkEvent event) {
+ String type = event.eventtype;
+ Log.v(TAG, "event received: " + type);
+
+ if (type.equals("audio")) {
+ mp.play(5);
+ }
+ else if (type.equals("video")) {
+ //mp.play(1);
+
+ mHandler.sendEmptyMessage(START_VIDEO);
+
+ /*
+ VideoView videoView = (VideoView) findViewById(R.id.videoView1);
+ MediaController mediaController = new MediaController(this);
+ mediaController.setAnchorView(videoView);
+ // Set video link (mp4 format )
+ String url = "rtsp://stream.zoovision.com/podcasts/HorizonChannelVideo.3gp";
+ Uri video = Uri.parse(url);
+ videoView.setMediaController(mediaController);
+ videoView.setVideoURI(video);
+ videoView.start();
+
+ //String url = "http://192.168.1.126:81/videostream.cgi?user=admin&pwd=";
+ //String url = "rtsp://stream.zoovision.com/podcasts/HorizonChannelVideo.3gp";
+
+ /*
+ MediaPlayer vid = new MediaPlayer();
+ try {
+ mp.setDataSource(url);
+ mp.setDisplay(sh);
+ mp.prepare();
+ mp.start();
+ } catch (IllegalArgumentException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IllegalStateException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ */
+ }
+
+ }
+}
Please sign in to comment.
Something went wrong with that request. Please try again.