У меня есть виртуальный CAN (vcan0
, vcan1
) в моем хосте Linux. Я хочу сделать их доступными в виртуальном устройстве Android (AVD). Я создаю AVD с помощью AVD Manager в Androi Studio. Однако я не могу заставить это работать.
Я создаю устройства Virtual CAN в моем хосте Linux с помощью следующих команд:
modprobe can
modprobe can_raw
modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
ip link show vcan0
Приведенные выше команды взяты из SocketCAN wiki .
Я попытался эмулировать vcan0 внутри эмулируемого Android с помощью следующей команды, но это не сработало:
~/Android/Sdk/tools/emulator -avd Soham_Device_API_25 -qemu -device can_pci,canbus=canbus0,host=vcan0
или
~/Android/Sdk/tools/emulator -avd Soham_Device_API_25 -qemu -device -device mioe3680_pci,canbus1=canbus0,host1=vcan0
и многие другие. Но ни один из них не работает и выдает сообщения об ошибках типа 'can_pci' is not a valid device model name
и Device 'vcan0' not found
. Тем не менее, я проверил с помощью тестового приложения, что vcan0
и vcan1
работают в моем хосте Linux. Кто-нибудь знает, как включить этот vcan0
внутри эмулируемого Android?