本文介绍如何在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
找到下载地址后,在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
找到链接后,在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使用情况
可以看到高通平台的设备相关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了,但是我设置了上面步骤后仍然显示
可以编辑另外一个rules
$sudo gedit /lib/udev/rules.d/50-udev-default.rules
查找关键字”usb_device”,找到下面位置
修改权限为
同时在该目录下添加新的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模块未安装,会有如下提示:
先执行
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
-
Android设备打开开发者选项中的USB调试模式,并通过USB连接到电脑
-
通过
adb install -r CtsVerifier.apk
安装CtsVerifier.apk -
CtsVerifier的权限全部授予,语言也要切成英文
-
打开 CtsVerifier.apk ,选择 Camera ITS Test 后一路允许
- 进入CameraITS/目录,执行下面配置环境指令
$ source build/envsetup.sh
-
下面就可以开始测试
测试所有摄像头和所有场景
$ 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
当然也可以指定输出目录: