简体   繁体   中英

JNI DETECTED ERROR IN APPLICATION on Brother SDK

Im trying to print a image in Brother SDK in my app.

this is my code:

       `myPrinterInfo = myPrinter.getPrinterInfo();
        myPrinterInfo.printerModel = PrinterInfo.Model.QL_810W;
        myPrinterInfo.port = PrinterInfo.Port.NET;
        myPrinterInfo.printMode = PrinterInfo.PrintMode.FIT_TO_PAGE;
        myPrinterInfo.paperSize = PrinterInfo.PaperSize.CUSTOM;
        myPrinterInfo.labelNameIndex = 5;
        myPrinterInfo.isAutoCut = false;
        myPrinterInfo.isCutAtEnd = false;
        myPrinterInfo.orientation = PrinterInfo.Orientation.PORTRAIT;
        myPrinterInfo.valign = PrinterInfo.VAlign.TOP;
        myPrinterInfo.align = PrinterInfo.Align.LEFT;
        myPrinterInfo.halftone = PrinterInfo.Halftone.THRESHOLD;
        myPrinterInfo.ipAddress = "192.168.1.146";
        myPrinterInfo.thresholdingValue = 127;
        myPrinterInfo.pjCarbon = false;
        myPrinterInfo.pjDensity = 5;
        myPrinterInfo.pjFeedMode = PrinterInfo.PjFeedMode.PJ_FEED_MODE_FIXEDPAGE;
        myPrinterInfo.pjPaperKind = PJ_CUT_PAPER;
        myPrinterInfo.rollPrinterCase = PrinterInfo.PjRollCase.PJ_ROLLCASE_OFF;
        myPrinterInfo.paperPosition = PrinterInfo.Align.CENTER;
        myPrinterInfo.numberOfCopies = 1;

Im using the 62mmx100mm paper roll and I got this error message:

JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: in call to GetStringUTFChars 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: from boolean com.brother.ptouch.sdk.JNIWrapper.writeByteInFile(int[], int, java.lang.String, boolean) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: "AsyncTask #1" prio=5 tid=10 Runnable 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: | group="main" sCount=0 dsCount=0 obj=0x12c99460 self=0xe9594500 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: | sysTid=31584 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0xe0b65930 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: | state=R schedstat=( 80462688 29252686 258 ) utm=5 stm=3 core=2 HZ=100 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: | stack=0xe0a63000-0xe0a65000 stackSize=1038KB 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: | held mutexes= "mutator lock"(shared held) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #00 pc 0035adcf /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+126) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #01 pc 0033bdeb /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+138) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #02 pc 0024ef71 /system/lib/libart.so ( ZN3art9JavaVMExt8JniAbortEPKcS2 +900) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #03 pc 0024f607 /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+54) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #04 pc 000fbe5d /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+28) 08-10 17:33:18.882 31333-31584/br.com.squarebits.brothertest E/art: native: #05 p c 001003b9 /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+2676) 08-10 17:33:18.883 31333-31584/br.com.squarebits.brothertest E/art: native: #06 pc 00108cd5 /system/lib/libart.so (_ZN3art8CheckJNI17GetStringUTFCharsEP7_JNIEnvP8_jstringPh+376)

If anyone knows how to fix it, please help me :(

I had a similar problem today, it turns out the android.permission.WRITE_EXTERNAL_STORAGE permission was not granted. If you are running on and Android 6 or greater, check your run time permissions for writing to the external storage. Declaring the permission in the manifest is not enough. The brother documentation hints at this at the end of their manual .

8.3. Android 6 compatibility Since Android 6.0, Users are allowed to change the application's permissions after installation. Permission to access Android external storage must be granted to use this application.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM