Local setup#
Install CRAB#
First you should install poetry
, a modern python dependency management tool.
Then pull the crab repo and install:
git clone https://github.com/camel-ai/crab
cd crab
poetry install -E client
Install Ubuntu VM#
IMPORTANT: If you are using an Ubuntu VM, the Python version in the VM must match the Python version on the host machine. If you follow this instruction to install Ubuntu, the Python version in the VM will be 3.10.12. Consider using conda
or pyenv
to install the same Python version on the host machine.
Install virt-manager
. If you are using Ubuntu or Debian, try sudo apt install virt-manager
.
Download Ubuntu 22.04 image, then create a new machine with at least 8G RAM and 30G disk in virt-manager using the image. Follow the instruction and complete the installation. (It’s better to use crab
as the main user name.)
After install Ubuntu, you should install crab-server on it and do necessary initilization. In Ubuntu VM, run
git clone https://github.com/camel-ai/crab.git ~/crab/
cd ~/crab/crab-benchmark-v0/scripts
chmod +x ubuntu_env_init.sh
./ubuntu_env_init.sh
The VM will reboot after initilization. After rebooting, remember its ip address.
Install ADB#
Download and install ADB from its official website.
Install Android Emulator#
You can use emulators in Android Studio to simulate an Android device if you don’t want to use a physical one.
To create a new virtual device, open Android Studio and use its built-in device manager to create a Pixel 8 Pro with system image release “R”.
Note that the benchmark on our side runs on a Google Pixel 8 Pro with system image release “R”. However, cases are noticed that Google API Level 30 may not work properly when trying to enable USB debugging mode. If such issues are encountered, you can try switch to releases of lower API levels (e.g. “Q”).
Then you can boot the device. To check if it’s all set, run
adb devices
You should see the device in the list.
Important: ADB won’t work normally if you see an
unauthorized
tag after the device ID. To solve this, enable both the developer mode and USB debugging mode in the device.