Если вы разработчик приложения :
Найденный вами IBluetoothHci
определяет интерфейс уровня аппаратной абстракции Bluetooth (HAL).Интерфейсы HAL не доступны непосредственно из приложений, но используются сервисами инфраструктуры, которые предоставляют интерфейсы, которые могут использоваться приложениями.Я рекомендую проверить Android SDK: https://developer.android.com/guide/topics/connectivity/bluetooth
Если вы разработчик платформы :
В случае, если вы планируете написать сервис с более высокими привилегиями (вы создаетесам AOSP и прошить все устройство) вы правы. IBluetoothHci
это интерфейс для использования.Возможно, вы захотите перейти с использования Android.mk на Android.bp, поскольку файлы Android.mk устарели.В вашем коде я ожидаю увидеть что-то вроде этого:
import android.hardware.bluetooth.V1_0.IBluetoothHci;
...
// retry to wait until the service starts up if it is in the manifest
IBluetoothHci bluetooth = IBluetoothHci.getService(true /* retry */); // throws NoSuchElementException if not available
bluetooth.initialize();
Подсказки о том, как использовать интерфейс HAL, также можно найти в соответствующих тестах VTS (хотя они написаны на C ++): https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/master/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.cpp