阅读文本大概需要 3 分钟。
目的
在网上找了下关于Android VTS的执行过程中, 遇到的问题都基本上没有找到解决办法。在此记录一些自己在生产过程中遇到的问题,希望帮到有需要的同仁,抛砖引玉,希望各位同仁提一些宝贵的建议和意见。谢谢~
问题List
1
error: Failed to create virtualenv
这个情况一般是检查有virtualenv, 第二个是查看host_log是否超时。超时的话可以修改如下文件, mRunUtil.runTimedCmd(BASE_TIMEOUT * 1, “virtualenv”, virtualEnvPath); 修改BASE_TIMEOUT, 把 1 修改大一点即可。具体代码如下。
protected void startVirtualenv(IBuildInfo buildInfo) throws TargetSetupError { if (mVenvDir != null) { CLog.i("Using existing virtualenv based at %s", mVenvDir.getAbsolutePath()); activate(); return; } try { mVenvDir = buildInfo.getFile(VIRTUAL_ENV_PATH); if (mVenvDir == null) { mVenvDir = FileUtil.createTempDir(getMD5(buildInfo.getTestTag()) + "-virtualenv"); } String virtualEnvPath = mVenvDir.getAbsolutePath(); CommandResult c = mRunUtil.runTimedCmd(BASE_TIMEOUT * 1, "virtualenv", virtualEnvPath); if (c.getStatus() != CommandStatus.SUCCESS) { CLog.e(String.format("Failed to create virtualenv with : %s.", virtualEnvPath)); throw new TargetSetupError("Failed to create virtualenv"); } CLog.i(VIRTUAL_ENV_PATH + " = " + virtualEnvPath + "\n"); buildInfo.setFile(VIRTUAL_ENV_PATH, new File(virtualEnvPath), buildInfo.getBuildId()); activate(); } catch (IOException
RuntimeException e) { CLog.e("Failed to create temp directory for virtualenv"); throw new TargetSetupError("Error creating virtualenv", e); } }
2
connection error: HTTPSConnectionPool(host=‘’, port=443)
这个一般是内网设置了代理问题, 需要加上代理就可以了。
sudo -H pip install -U pip -v --proxy http://*.*.*.*:xxx
3
JSONArray is null. and not found
这个是在创建virtualenv环境的没有权限导致的。
确保当前用户对linux是/tmp windows是C:\Users***\AppData\Local\Temp 有读写权限。
4
couldn’t create file: Permission denied
这个一般出现第一次插上设备出现这个问题。
执行adb root 即可。
5
no permissions
需要执行命令lsusb后,获取到对应的vor和product,加到对应的rule里面即可。
##/etc/udev/rules.d/51-android.rules# Intel vor ID for ADBSUBSYSTEM=="usb", ATTRS{idVor}=="8087", MODE="0666"#intel vor ID for SOC deviceSUBSYSTEM=="usb", ATTRS{idVor}=="8086", MODE="0666"
修改完了重启adb服务即可大「123」。
adb kill-serveradb devices -l
“偶尔放纵,是对自己奖励?”
如果你对本文感兴趣,可以微信「cha_message」