Запуск эмулятора android во время сборки jenkins
Я установил Jenkins и настроил задание сборки с эмулятором, запущенным во время сборки. Но когда я выполняю задание, я получаю сообщение об ошибке, что у пользователя jenkins нет разрешения на запуск kvm. Как я могу это исправить.
$ android list target
[android] Using Android SDK: /opt/android/sdk
$ adb start-server
* daemon not running. starting it now on port 5973 *
* daemon started successfully *
$ adb start-server
[android] Starting Android emulator
[android] Erasing existing emulator data...
$ emulator -ports 5971,5972 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_160_1024x768_android-15_x86 -no-snapshot-load -no-snapshot-save -wipe-data
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: This user doesn't have permissions to use KVM (/dev/kvm).
[android] Emulator did not appear to start; giving up
$ adb disconnect localhost:5972
[android] Stopping Android emulator
$ adb kill-server
разрешения
$ ls -l /dev/kvm
crw-rw----+ 1 root root 10, 232 May 6 13:46 /dev/kvm
$ groups jenkins
jenkins : jenkins
1 ответов
мне удалось решить эту проблему.
-
установить Qemu-KVM и cpu-checker
apt-get install qemu-kvm cpu-checker
-
Проверьте, доступен ли KVM (как пользователь jenkins
$ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
-
создайте группу kvm и добавьте Дженкинса в эту группу
addgroup kvm usermod -a -G kvm jenkins
-
сменить владельца группы
/dev/kvm
chgrp kvm /dev/kvm
-
создать udev правило
$ sudo nano /etc/udev/rules.d/60-qemu-kvm.rules KERNEL=="kvm", GROUP="kvm", MODE="0660"
перезагрузка