How to change Bluetooth device for Android

Revision as of 15:57, 26 September 2019 by Registered User

This article describes the integration steps required to connect a Bluetooth device. It deals mainly with the impact of integrating the new AndroidTM Bluetooth® solution. It is intended for Distribution Package users.

1. Prerequisites[edit source]

The environment must be installed using the Distribution Package adapted to the selected microprocessor device. See the list of AndroidTM Distribution Package.

The Bluetooth® (BT) device must be connected to the microprocessor device on the board (generally through SDIO, UART or USB).

2. Overview[edit source]

Android BT Overview

The AndroidTM Bluetooth® software stack contains:

  • Bluetooth® Driver (hardware dependent) → device driver providing access to the Bluetooth® hardware device through HCI sockets of the Bluetooth® family (AF_BLUETOOTH / BTPROTO_HCI, hci0 interface).
  • Bluetooth® HAL (bluetooth@1.0) → AndroidTM native component implementing the AndroidTM Bluetooth® HIDL (Hardware Interface Definition Language) on top of the kernel Bluetooth® subsystem, used by the Bluetooth® stack.
  • Bluetooth® Fluoride Stack (libbluetooth.so) → native Bluetooth® stack built as a shared library. The stack integrates its own implementation of all required profiles and transport protocols, only using the HCI support of the host system through the HIDL offered by the Bluetooth® HAL to communicate with the Bluetooth® device.
  • Bluetooth® system service → Bluetooth® application providing managed level Bluetooth® profiles and services. The application uses JNI to load and run the Fluoride stack and exposes itself to the rest of the system through a system service implementing the Bluetooth® AIDL (AndroidTM Interface Definition Language).
  • Framework Bluetooth® API → android
No categories assignedEdit