搞开发,必踩坑
    踩坑一:(与踩坑七有关联)
    require引入的模块目录,最好是不要写../ 向上找目录,应该将其他模块文件至于同级目录之下
vscode调试不报错,打包后会报错,提示模块not found,丢失了一层目录结构
    将common目录移入module下,修改全部引入文件../为./后,运行正常。
    踩坑二:
    autoJsPro9打包权限问题,默认勾选的300多项权限,实际常用的只有这几项,如果打包的时候,不重新勾选一下,会导致权限打包不进去,比如没有悬浮窗权限
    踩坑三:
    安卓版本10及其以上获取不到IMEI
// 安卓API版本  29 安卓10
config.SDK_API_VERSION = android.os.Build.VERSION.SDK_INT
// 安卓10及以上 取androidId   10以下 取IMEI
    deviceUUID = config.SDK_API_VERSION > 28 ? device.getAndroidId() : device.getIMEI()
    commonStorage.put("deviceUUID", deviceUUID)    踩坑四:
         在循环中快速触发toast,后一个不会立即覆盖前一个,脚本停止后还一直再弹消息
        可以采用自定义toast的方式,全局定义一个toast对象,创建后,只做隐藏显示
/**
 * 自定义消息气泡
 * @param {*} msg 
 */
utilsObj.toast = (msg) => {
    if (!toastCustom) {
        toastCustom = new Toast(context);
    }
    if (!view) {
        view = Toast.makeText(context, msg, Toast.LENGTH_SHORT).getView();
    }
    toastCustom.setView(view);
    toastCustom.setText(msg);
    toastCustom.setDuration(200);
    toastCustom.show();
}踩坑五:
    打开图片,两种方式无法打开png格式图片,采用app.viewFile解决
    踩坑六:
多次请求截图权限会报只能请求一次请求截图权限的异常,再次请求截图,不报异常,也不往下走
        采用,每次都停止截图权限,再重新开启权限的方案
    踩坑七:
    基于踩坑一的后续问题发现,踩坑一的解决方案可能不严谨
    修改require引入路径后,在vscode中调试又出现了not found的问题
    经过测试与排查
    在main.js直接require引入的文件中,采用这种方式是没有问题的,读取相对路径文件
    engines.execScriptFile的路径,必须是从根目录开始读取,即使两个文件在同级目录
    通过engines.execScriptFile执行的脚本文件中,如果也使用require引入其他文件,同样也是需要基于项目根路径去引入文件,而不能是以被执行脚本文件与引入文件的相对路径编写
总结一下:engines.execScriptFile执行的脚本文件,里面require引入的文件,必须是从项目根目录去找,不能是以被执行文件的相对路径














 
     
     
     
    
发表评论