Android Camera搭建ITS测试环境

本文介绍如何在Ubuntu上搭建Camera ITS开发环境,分为如下几个步骤:

  • 下载工具包:android-cts-verifier
  • 安装adb
  • 安装Python及相关三方模块
  • 运行ITS

加入知识星球与更多Camera同学交流

  • 星球名称:深入浅出Android Camera
  • 星球ID: 17296815

下载android-cts-verifier

到Android官方网站下载android-cts-verifier,网址是:
https://source.android.google.cn/compatibility/cts/downloads

下载android-cts-verifier

找到下载地址后,在Ubuntu里面执行wget下载:

wget https://dl.google.com/dl/android/cts/android-cts-verifier-11_r4-linux_x86-arm.zip

如果是找手机上跑,注意要选择CTS Verifier – ARM,不能选择x86

在ubuntu上安装adb

到Android官方网站下载platform-tools工具包,网址是:
https://developer.android.google.cn/studio/releases/platform-tools?hl=en

下载adb

找到链接后,在Ubuntu下可以执行如下命令

wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip

下载后将platform-tools_r31.0.3-linux.zip拷贝到指定目录下,并解压,然后在环境变量中加入该路径:

vim ~/.bashrc

在文件最后添加如下语句:

export PATH=/home/deepinout/Tools/platform-tools_r31.0.3:$PATH

注销或者重启可以使修改生效,如果要使添加的环境变量马上生效:

source ~/.bashrc

Ubuntu 16.04 adb devices : no permissions

如果执行adb发生出现no permission错误,按照如下的步骤解决。

![Ubuntu 16.04 adb devices : no permissions](https://static.deepinout.com/deepinout/android-system/its/20210812115616-3.png "Ubuntu 16.04 adb devices : no permissions")

出现这个错误,因为ubuntu系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。

lsusb

查看usb使用情况

查看usb使用情况

可以看到高通平台的设备相关id是05c6:9091

编辑rules

$sudo gedit /etc/udev/rules.d/deepinout-android.rules

添加如下内容

SUBSYSTEM=="usb",ATTRS{idVendor}=="05c6",ATTRS{idProduce}=="9091",MODE="0666"

然后保存退出,再设置一下权限

$sudo chmod a+rx /etc/udev/rules.d/deepinout-android.rules

运行命令,重启udev:

$sudo service udev restart
或 $sudo /etc/init.d/udev restart

拔掉usb重新连上再执行:

$adb kill-server
$adb devices

一般以上步骤就可以设置OK,能正常运行adb了,但是我设置了上面步骤后仍然显示

Ubuntu 16.04 adb devices : no permissions

可以编辑另外一个rules

$sudo gedit /lib/udev/rules.d/50-udev-default.rules

查找关键字”usb_device”,找到下面位置

Ubuntu 16.04 adb devices : no permissions

修改权限为

Ubuntu 16.04 adb devices : no permissions

同时在该目录下添加新的rules文件

$sudo gedit /lib/udev/rules.d/deepinout-android.rules

添加如下内容

SUBSYSTEM="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="05c6", MODE="0666"

然后保存退出,再设置一下权限

$sudo chmod a+rx /lib/udev/rules.d/deepinout-android.rules

再运行命令,重启udev:

$sudo service udev restart
或 $sudo /etc/init.d/udev restart

拔掉usb重新连上再执行:

$adb kill-server
$adb devices

安装Python相关三方模块

当你执行 source build/envsetup.sh 时,如果相关Python模块未安装,会有如下提示:

安装Python相关三方模块

先执行

sudo apt-get update

执行如下命令安装这些模块

sudo apt-get install python-scipy
sudo apt-get install python-matplotlib
sudo apt-get install python-serial
sudo apt-get install python-opencv
sudo apt-get install python-pyudev

运行ITS

  1. Android设备打开开发者选项中的USB调试模式,并通过USB连接到电脑

  2. 通过 adb install -r CtsVerifier.apk 安装CtsVerifier.apk

  3. CtsVerifier的权限全部授予,语言也要切成英文

  4. 打开 CtsVerifier.apk ,选择 Camera ITS Test 后一路允许

运行ITS

  1. 进入CameraITS/目录,执行下面配置环境指令
$ source build/envsetup.sh
  1. 下面就可以开始测试

    测试所有摄像头和所有场景

$ python tools/run_all_tests.py

​ 后摄场景一全部测试

$ python tools/run_all_tests.py camera=0 scenes=scene0

​ 单独模块测试

$ python tests/scene1/test_ev_compensation_basic.py camera=0 scenes=scene1

开始测试时,会输出类似下面的

/tmp/tmpXYqOch:就是最终测试结果在ubuntu的输出路径

tmpXYqOch:表示设备ID

运行ITS

当然也可以指定输出目录:

运行ITS指定输出目录

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程