android-gatt-server
Installation
SKILL.md
<essential_principles>
Android GATT Server — host BLE services on an Android device so remote clients can read, write, and subscribe. Your Android device acts as the peripheral (GATT server).
GATT Hierarchy
BluetoothGattService (UUID, PRIMARY or SECONDARY)
└── BluetoothGattCharacteristic (UUID, properties, permissions)
└── BluetoothGattDescriptor (UUID, permissions)
└── CCCD (00002902) — enables notifications/indications
End-to-End Setup
// 1. Open GATT server
val manager = getSystemService(BluetoothManager::class.java)
val gattServer = manager.openGattServer(context, gattServerCallback)