2012-12-11 3 views
0

Je suis le tutoriel here.Android OCR force fermer

J'ai terminé toutes les étapes et lorsque je clique sur Exécuter en éclipse, cela semble fonctionner lorsque l'application est sur mon téléphone. Cependant, lorsque je clique dessus, je reçois une "erreur de fermeture forcée".

Lorsque je débranche le téléphone de mon ordinateur, je suis allé jusqu'à prendre la photo mais quand j'y vais, j'obtiens une erreur de fermeture forcée.

Je travaille avec Windows 7, la lecture des commentaires sur la page il devrait fonctionner

Voici impression de quelques-unes des erreurs de LogCat que je recevais -

@Override 
public void onCreate(Bundle savedInstanceState) { 

    String[] paths = new String[] { DATA_PATH, DATA_PATH + "tessdata/" }; 

    for (String path : paths) { 
     File dir = new File(path); 
     if (!dir.exists()) { 
      if (!dir.mkdirs()) { 
       Log.v(TAG, "ERROR: Creation of directory " + path + " on sdcard failed"); 
       return; 
      } else { 
       Log.v(TAG, "Created directory " + path + " on sdcard"); 
      } 
     } 

    } 

    // lang.traineddata file with the app (in assets folder) 
    // You can get them at: 
    // http://code.google.com/p/tesseract-ocr/downloads/list 
    // This area needs work and optimization 
    if (!(new File(DATA_PATH + "tessdata/" + lang + ".traineddata")).exists()) { 
     try { 

      AssetManager assetManager = getAssets(); 
      InputStream in = assetManager.open("tessdata/eng.traineddata"); 
      //GZIPInputStream gin = new GZIPInputStream(in); 
      OutputStream out = new FileOutputStream(DATA_PATH 
        + "tessdata/eng.traineddata"); 

      // Transfer bytes from in to out 
      byte[] buf = new byte[1024]; 
      int len; 
      //while ((lenf = gin.read(buff)) > 0) { 
      while ((len = in.read(buf)) > 0) { 
       out.write(buf, 0, len); 
      } 
      in.close(); 
      //gin.close(); 
      out.close(); 

      Log.v(TAG, "Copied " + lang + " traineddata"); 
     } catch (IOException e) { 
      Log.e(TAG, "Was unable to copy " + lang + " traineddata " + e.toString()); 
     } 
    } 

    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    // _image = (ImageView) findViewById(R.id.image); 
    _field = (EditText) findViewById(R.id.field); 
    _button = (Button) findViewById(R.id.button); 
    _button.setOnClickListener(new ButtonClickHandler()); 

    _path = DATA_PATH + "/ocr.jpg"; 
    //_path = DATA_PATH + "/shuffledDigits.jpg"; 

} 

Erreur journal

12-11 18:09:14.097: E/jdwp(926): Failed sending req to debugger: Broken pipe (-1 of 27) 
    12-11 18:09:14.097: E/jdwp(926): Failed sending req to debugger: Broken pipe (-1 of 27) 
    12-11 18:09:14.097: E/jdwp(926): Failed sending reply to debugger: Broken pipe 
    12-11 18:09:14.287: V/SimpleAndroidOCR.java(926): ERROR: Creation of directory /sdcard/SimpleAndroidOCR/ on sdcard failed 
    12-11 18:09:14.287: D/AndroidRuntime(926): Shutting down VM 
    12-11 18:09:14.287: W/dalvikvm(926): threadid=3: thread exiting with uncaught exception (group=0x40026160) 
    12-11 18:09:14.287: E/AndroidRuntime(926): Uncaught handler: thread main exiting due to uncaught exception 
    12-11 18:09:14.306: E/AndroidRuntime(926): android.app.SuperNotCalledException: Activity {com.datumdroid.android.ocr.simple/com.datumdroid.android.ocr.simple.SimpleAndroidOCRActivity} did not call through to super.onCreate() 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.app.ActivityThread.access$2200(ActivityThread.java:123) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.os.Handler.dispatchMessage(Handler.java:99) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.os.Looper.loop(Looper.java:123) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at android.app.ActivityThread.main(ActivityThread.java:4370) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at java.lang.reflect.Method.invokeNative(Native Method) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at java.lang.reflect.Method.invoke(Method.java:521) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
    12-11 18:09:14.306: E/AndroidRuntime(926): at dalvik.system.NativeStart.main(Native Method) 
    12-11 18:09:14.597: D/dalvikvm(915): GC freed 1836 objects/141248 bytes in 161ms 
    12-11 18:09:14.657: W/ActivityManager(1233): Activity pause timeout for HistoryRecord{45b2f140 com.datumdroid.android.ocr.simple/.SimpleAndroidOCRActivity} 
    12-11 18:09:14.657: E/SemcCheckin(926): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 
    12-11 18:09:14.657: W/ActivityManager(1233): Unable to start service Intent { act=com.sonyericsson.android.jcrashcatcher.action.BUGREPORT_AUTO cmp=com.sonyericsson.android.jcrashcatcher/.JCrashCatcherService (has extras) }: not found 
    12-11 18:09:14.667: I/Process(1233): Sending signal. PID: 926 SIG: 3 
    12-11 18:09:14.667: I/dalvikvm(926): threadid=7: reacting to signal 3 
    12-11 18:09:14.667: I/dalvikvm(926): Wrote stack trace to '/data/anr/traces.txt' 
    12-11 18:09:14.677: I/Process(926): Sending signal. PID: 926 SIG: 9 
    12-11 18:09:14.687: E/SemcCheckin(1704): Get Crash Level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 

    12-11 18:12:30.927: E/AndroidRuntime(1009): Uncaught handler: thread main exiting due to uncaught exception 
    12-11 18:12:30.936: E/AndroidRuntime(1009): java.lang.ExceptionInInitializerError 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at com.datumdroid.android.ocr.simple.SimpleAndroidOCRActivity.onPhotoTaken(SimpleAndroidOCRActivity.java:211) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at com.datumdroid.android.ocr.simple.SimpleAndroidOCRActivity.onActivityResult(SimpleAndroidOCRActivity.java:135) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.Activity.dispatchActivityResult(Activity.java:3835) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3332) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3378) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.ActivityThread.access$2700(ActivityThread.java:123) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1900) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.os.Handler.dispatchMessage(Handler.java:99) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.os.Looper.loop(Looper.java:123) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at android.app.ActivityThread.main(ActivityThread.java:4370) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at java.lang.reflect.Method.invokeNative(Native Method) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at java.lang.reflect.Method.invoke(Method.java:521) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at dalvik.system.NativeStart.main(Native Method) 
    12-11 18:12:30.936: E/AndroidRuntime(1009): Caused by: java.lang.UnsatisfiedLinkError: Library lept not found 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at java.lang.Runtime.loadLibrary(Runtime.java:489) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at java.lang.System.loadLibrary(System.java:557) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  at com.googlecode.tesseract.android.TessBaseAPI.<clinit>(TessBaseAPI.java:47) 
    12-11 18:12:30.936: E/AndroidRuntime(1009):  ... 15 more 
    12-11 18:12:30.946: E/SemcCheckin(1009): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump 
+0

Vous devriez ajouter du code. Le stacktrace n'aide pas beaucoup. – rekire

+0

@blob 1. veuillez mettre le code dans votre question et non comme réponse. J'ai fusionné le code afin de le prendre comme un conseil pour la prochaine fois. 2. avez-vous essayé d'appeler le super.onCreate() à la toute première ligne? – WarrenFaith

Répondre

0

Comme je le vois, vous ne l'avez pas appeler la méthode de la vôtre SimpleAndroidOCRActivity super.onCreate (savedInstanceState) dans onCreate (Bundle)

+0

Oui, je me suis appris au début, j'ai posté la méthode onCreate ci-dessus et comme vous pouvez le voir, le super.onCreate est appelé t – blob