You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Capacitor应用中cordova-plugin-shell执行input tap命令报错(错误码100)求助

解决Capacitor中执行input tap命令报错的问题

核心原因

cordova-plugin-shell直接执行带空格的完整命令字符串时,会把整个内容当作单个命令名解析,系统自然找不到input tap 500 500这个命令;另外部分设备环境变量未包含input命令的路径,也会导致执行失败。

可行解决方案

方案1:拆分命令与参数执行

插件的exec方法支持单独传入命令和参数数组,从根源避免空格解析问题:

cordova.plugins.shell.exec(
  'input',
  ['tap', '500', '500'],
  (output) => console.log('执行成功:', output),
  (error) => console.log('执行失败:', error)
);

方案2:指定input命令完整路径

如果设备环境变量未配置input的路径,直接使用其系统默认路径(通常为/system/bin/input):

cordova.plugins.shell.exec(
  '/system/bin/input',
  ['tap', '500', '500'],
  (output) => console.log('执行成功:', output),
  (error) => console.log('执行失败:', error)
);

方案3:用sh -c包裹命令

若必须使用单字符串形式,通过sh -c让shell解析完整命令:

cordova.plugins.shell.exec(
  'sh',
  ['-c', 'input tap 500 500'],
  (output) => console.log('执行成功:', output),
  (error) => console.log('执行失败:', error)
);

前置验证步骤

先确认设备中input命令的实际路径,避免路径错误:

cordova.plugins.shell.exec(
  'which',
  ['input'],
  (path) => console.log('input命令路径:', path),
  (error) => console.log('未找到input命令:', error)
);

如果返回具体路径,直接替换上述方案中的input或/system/bin/input即可。

内容的提问来源于stack exchange,提问作者Dmitry_Ivanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 07:14:54