Macaca macaca 对于带空格路径不支持

xinufo · 2016年08月27日 · 最后由 达峰的夏天 回复于 2016年08月28日 · 2306 次阅读

Windows 下修改了 nodejs 的模块安装位置为 D:\Program Files\nodejs\node_modules\npm_global,运行 java 代码是报错

Error: Command failed: C:\Windows\system32\cmd.exe /s /c "D:\adt-bundle\sdk/patform-tools/adb -s 127.0.0.1:62001 push D:\Program Files\nodejs\node_modules\npm_global\node_modules\macaca-android\node_modules\uiautomator-client\bin\uiautoator-bootstrap.jar /data/local/tmp" cannot stat 'D:\Program': No such file or directory
      at ChildProcess.exithandler (child_process.js:213:12)
      at emitTwo (events.js:87:13)
      at ChildProcess.emit (events.js:172:7)
      at maybeClose (internal/child_process.js:827:16)
      at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

代码如下

package test;

import com.alibaba.fastjson.JSONObject;
import macaca.client.MacacaClient;

public class Main {

    public static void main(String[] args) {
        MacacaClient driver = new MacacaClient();
        JSONObject porps = new JSONObject();
        porps.put("platformName", "android");
        porps.put("version", "");
        porps.put("javascriptEnabled", true);
        porps.put("platform", "ANY");
        JSONObject desiredCapabilities = new JSONObject();
        desiredCapabilities.put("desiredCapabilities", porps);
        try {
            driver.initDriver(desiredCapabilities);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                driver.quit();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

}

共收到 5 条回复 时间 点赞

另外如果 Android SDK 的路径也带空格的话,运行上面代码也会报错,提示 Internal Server Error
@xdf

#1 楼 @xinufo 你就不应该创建带空格的路径,很多都不支持这种路径

#2 楼 @doctorq 虽然如此,但我也觉得此问题应该解决,记得有一个 python 库有这个问题,我甚至花了一整天的时间去修复它

原则:不使用带空格的路径,不使用中文命名文件夹或者文件。

6楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册