3

I'm Working on Brother Label Printer QL-710W using Xamarin.Android.

I have created a Android bindings project and Added jar files and .so files as shown below.

I'm using Visual Studio.

Jars >

  1. BrotherPrintLibrary.jar; BuildAction: EmbeddedJar
  2. MobilePrintLib.jar; BuildAction: ReferenceJar

NativeLibraries > armeabi >

  1. libAndrJFPDFEMB.so; BuildAction: EmbeddedNativeLibrary
  2. libcreatedata.so; BuildAction: EmbeddedNativeLibrary

Additions ClassTest.cs

public bool PrintFile(string fileurl, NetPrinter printer)
    {
        Task <bool> printTask = new Task<bool>(() => {
        bool success = true;
            try
            {
                Printer myPrinter = new Printer();
                PrinterInfo myPrinterInfo = new PrinterInfo();
                PrinterStatus status = new PrinterStatus();
                LabelInfo mLabelInfo = new LabelInfo();

                myPrinterInfo.PrinterModel = PrinterInfo.Model.Ql710w;
                myPrinterInfo.IpAddress = printer.IpAddress;
                myPrinterInfo.MacAddress = printer.MacAddress;
                myPrinterInfo.Port = PrinterInfo.PortEnum.Net;
                myPrinterInfo.PrintMode=PrinterInfo.PrintModeEnum.FitToPage;
                myPrinterInfo.PaperSize = PrinterInfo.PaperSizeEnum.Custom;
                myPrinterInfo.Orientation = PrinterInfo.OrientationEnum.Portrait;
                myPrinterInfo.LabelNameIndex = LabelInfo.QL700.W62.Ordinal();
                myPrinterInfo.ScaleValue = 1;

                mLabelInfo.LabelNameIndex = LabelInfo.QL700.ValueOf("W62").Ordinal();
                mLabelInfo.IsAutoCut = true;
                mLabelInfo.IsEndCut = true;

                myPrinter.SetPrinterInfo(myPrinterInfo);
                myPrinter.SetLabelInfo(mLabelInfo);

                myPrinter.StartCommunication();
                status = myPrinter.PrintFile(fileurl);
                if (status.ErrorCode != PrinterInfo.ErrorCode.ErrorNone)
                    success = false;
                myPrinter.EndCommunication();
            }catch(Exception ex)
            {
                Console.WriteLine("ERROR : {0}",ex.Message);
                success = false;
            }
            return success;
        });


        printTask.Start();

        var isSuccess = printTask.Result;

        return isSuccess;
    }

I'm getting printers list successfully from network. But when I'm calling above method it is getting exception at myPrinter.SetPrinterInfo(myPrinterInfo); as "Couldn't load createdata from loader dalvik.system.PathClassLoader[DexPathList[[zip file \"/data/app/PocAndroidArchieve.PocAndroidArchieve-2.apk\"],nativeLibraryDirectories=[/data/app-lib/PocAndroidArchieve.PocAndroidArchieve-2, /vendor/lib, /system/lib]]]: findLibrary returned null"

Please suggest me if any one has idea to work with jar's and dependent .so files.

Thanks in advance.

Martin Zeitler
  • 1
  • 19
  • 155
  • 216
Naveen Bathina
  • 404
  • 1
  • 6
  • 25

0 Answers0