使用uni-app uts封装的插件打包标准包插件功能失效

使用uni-app uts封装的插件打包标准包插件功能失效

开发环境 版本号 项目创建方式
Windows HBuilderX
HBuilderX 4.15
Android 7.1.1

示例代码:

async printTicket(item) {
    console.log("printTicketList", item.beginTime);
    let beginTime = item.beginTime;
    let date = new Date(beginTime);
    console.log("类型0:",item.appointmentType);
    let dayOfWeek = date.getDay();
    let days = [
        "星期日",
        "星期一",
        "星期二",
        "星期三",
        "星期四",
        "星期五",
        "星期六",
    ];
    console.log("类型1:",item.appointmentType);
    let dayOfWeekStr = days[dayOfWeek];
    console.log("类型2:",item.appointmentType);
    console.log("getUsbList():",getUsbList());
    let devices = getUsbList();
    console.log("类型3:",item.appointmentType);
    openPrinter(devices[0]);
    console.log("类型4:",item.appointmentType);
    let printArray = [];
    console.log("类型5:",item.appointmentType);
}
export function getUsbList(): Array<any>{
    const context = UTSAndroid.getAppContext();
    let devicelList = UsbPrinter.GetUsbPathNames(context)
    let list = Array<any>()
    devicelList.forEach(element => {
        console.log("usb:",element);
        list.push(element)
    });
    return list
    // return Array.fromNative(kotlinList)devicelList
}

操作步骤:

  • 运行标准基座,log日志打印到 “类型2:",0” 断掉了,怀疑getUsbList()方法在标准基座失效

预期结果:

  • getUsbList()方法可调用,uts文件getUsbList方法的log日志能打印 “console.log(“usb:”,element);”

实际结果:

  • 运行标准基座,log日志打印到 “类型2:",0” 断掉了,怀疑getUsbList()方法在标准基座失效

bug描述:

  • Android版本为:7.1.2
  • 我使用uts封装的插件打包标准包前一段时间功能是可用的,但是现在功能失效了。
  • 现在我在本地项目运行到真机使用标准基座功能也不能用,但是运行在自定义基座是可以
  • 这是调用插件的方法,标准基座,log日志输出到console.log(“类型2:”,item.appointmentType);就停了,getUsbList()这个是调用uts里面的方法
  • App下载地址

更多关于使用uni-app uts封装的插件打包标准包插件功能失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

提供一下可以复现问题的示例。或者app id 我看一下

更多关于使用uni-app uts封装的插件打包标准包插件功能失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


UNI6D37729

请问有什么解决方案了吗?

根据描述,问题可能出在UTS插件在标准基座中的兼容性上。以下是关键分析点:

  1. 标准基座与自定义基座的主要区别在于签名和插件集成方式。标准基座使用HBuilder默认签名,而自定义基座使用开发者自己的签名。

  2. 从日志中断在getUsbList()调用前,且自定义基座正常来看,可能是:

  • USB权限在标准基座中未正确声明
  • 插件依赖的native库未正确打包进标准基座
  • Android 7.1的兼容性问题(但自定义基座正常可排除)
  1. 建议检查:
  • AndroidManifest.xml中是否声明了USB设备权限:
<uses-feature android:name="android.hardware.usb.host"/>
<uses-permission android:name="android.permission.USB_PERMISSION"/>
回到顶部