Android VTS 常见问题及解决办法
基于Android8.1
 Ubuntu 16.04
 Python2.7
1. 目的
在网上找了下关于Android VTS的执行过程中, 遇到的问题都基本上没有找到解决办法。
 在此记录一些自己在生产过程中遇到的问题,希望帮到有需要的同仁,抛砖引玉,希望各位同仁提一些宝贵的建议和意见。谢谢~
2. 问题List
- 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);
        }
    }
- Could not fetch URL https://pypi.python.org/simple/****/: connection error: HTTPSConnectionPool(host=‘pypi.python.org’, port=443)
 这个一般是内网设置了代理问题, 需要加上代理就可以了。
sudo -H pip install -U pip -v  --proxy http://*.*.*.*:xxx'
- JSONArray is null. and not found
 这个是在创建virtualenv环境的没有权限导致的。
 确保当前用户对linux是/tmp windows是C:\Users***\AppData\Local\Temp 有读写权限。
- E/ddms: transfer error: couldn’t create file: Permission denied
 这个一般出现第一次插上设备出现这个问题。
 执行adb root 即可。
- 执行adb devices的时候显示 “no permissions”
 需要执行命令lsusb后,获取到对应的vendor和product,加到对应的rule里面即可。参考文章
##/etc/udev/rules.d/51-android.rules
# Intel vendor ID for ADB
SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", MODE="0666"
#intel vendor ID for SOC device
SUBSYSTEM=="usb", ATTRS{idVendor}=="8086", MODE="0666"
修改完了重启adb服务即可
adb kill-server
adb devices
参考文档
            
            作者:叉叉敌
            
            博客:https://chasays.github.io/
            
            微信公众号:Chasays, 欢迎关注一起吹牛逼,也可以加个人微信号「xxd_0225」互吹。
            
            本博客大多为学习笔记或读书笔记,本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正,相互学习,共同进步。
        

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号