zoukankan      html  css  js  c++  java
  • 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);
            }
        }
    
    

    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」互吹。
    本博客大多为学习笔记或读书笔记,本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正,相互学习,共同进步。

  • 相关阅读:
    31天重构学习笔记28. 为布尔方法命名
    .NET 技术社区之我见(中文篇)
    31天重构学习笔记26. 避免双重否定
    31天重构学习笔记25. 引入契约式设计
    31天重构学习笔记20. 提取子类
    31天重构学习笔记18. 使用条件判断代替异常
    31天重构学习笔记19. 提取工厂类
    31天重构学习笔记24. 分解复杂判断
    31天重构学习笔记23. 引入参数对象
    31天重构学习笔记17. 提取父类
  • 原文地址:https://www.cnblogs.com/ievjai/p/14382631.html
Copyright © 2011-2022 走看看