【问题标题】:The application couldn't find "libnexgo_sdkemvjni.so"应用程序找不到“libnexgo_sdkemvjni.so”
【发布时间】:2021-09-06 19:05:09
【问题描述】:

我正在尝试使用 NexGo SDK 打印收据 使用 NexGo p200 但是当我运行应用程序时,我得到了如下图所示的错误。

代码是:

public void print() {
    try {
        deviceEngine =APIProxy.getDeviceEngine(MainActivity.this);
        Log.e("device",deviceEngine.toString());
    }catch (RuntimeException e){
        e.printStackTrace();
    }
    printer = deviceEngine.getPrinter();
    printer.setTypeface(Typeface.DEFAULT);
    printer.initPrinter();
    printer.setTypeface(Typeface.DEFAULT);
    printer.setLetterSpacing(5);
    printer.appendPrnStr(getString(R.string.print_merchantname), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_merchantno), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_terminalno), getString(R.string.print_operator), 24, false);
    printer.appendPrnStr(getString(R.string.print_issurebank), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_shoudan), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_expiredate), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.cardnum), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_cardinfo), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_tradetype), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_batchno), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_voucher), getString(R.string.print_authorcode), 24, false);
    printer.appendPrnStr(getString(R.string.print_refrenceno), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_tradedate), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_amount), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.money), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_beizhu), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_originalvoucher), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_addinfo), 24, AlignEnum.LEFT, false);
    printer.appendBarcode(getString(R.string.print_barcode), 50, 0, 2, BarcodeFormatEnum.CODE_128, AlignEnum.CENTER);
    printer.appendQRcode(getString(R.string.print_qrcode), 200, AlignEnum.CENTER);
    printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_cardhold), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr("\n", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_cardhold_ensure), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_cardhold_ensure), 24, AlignEnum.LEFT, false);
    printer.appendPrnStr("---------------------------", 24, AlignEnum.LEFT, false);
    printer.appendPrnStr(getString(R.string.print_merchant_dan), 24, AlignEnum.RIGHT, false);
    printer.startPrint(false, new OnPrintListener() {
        @Override
        public void onPrintResult(final int retCode) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(MainActivity.this, retCode + "", Toast.LENGTH_SHORT).show();
                }
            });
        }
    });
}

【问题讨论】:

标签: java android sdk pos


【解决方案1】:

可能与java.library.path系统属性不正确有关。您可以尝试通过传递-Djava.library.path=<your-directory-containing-the-so-file> 参数来修复它。

【讨论】:

  • 我将所有 *.so 文件添加到 jniLibs 文件夹,但仍然无法正常工作。
猜你喜欢
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-02
  • 2021-02-06
  • 2018-07-13
  • 2015-09-18
  • 2016-02-22
相关资源
最近更新 更多