بلوتوث

واحد بلوتوث یک واحد اختیاری Mainline است که در Android 13 معرفی شده است. در Android 16 و نسخه‌های بالاتر، واحد به‌روزرسانی‌پذیر است و حاوی پشته میزبان بلوتوث دوحالته کاملاً گواهینامه‌دار است که دستگاه‌های Android را قادر می‌سازد از عملکردهای بلوتوث کلاسیک و بلوتوث کم‌مصرف (BLE) پشتیبانی کنند.

انگیزه اصلی برای ارائه واحد بلوتوث این است که با انجام موارد زیر، تجربه بلوتوث با کیفیت بالاتری برای سازندگان دستگاه، کاربران، و توسعه‌دهندگان برنامه فراهم شود:

  • ارائه به‌روزرسانی‌های سریع‌تر با ویژگی‌های جدید، رفع اشکال‌ها، بهبودهای قابلیت همکاری، و وصله‌های امنیتی به‌سرعت و به‌طور منظم، مستقل از چرخه انتشار سیستم‌عامل Android.

  • کاهش تکه‌تکه شدن و ایجاد تجربه‌ای یکپارچه برای کل بوم‌سازگان Android.

  • با ارائه واحدهای اصلی Bluetooth که Android آن‌ها را تأیید کرده است و اجتناب از تغییر مکرر پایه‌های کد، توسعه شریک را ساده‌سازی می‌کنیم و درنتیجه سربار توسعه و آزمایش را کاهش می‌دهیم.

قالب بسته

ماژول بلوتوث از قالب APEX استفاده می‌کند. بسته com.google.android.bt حاوی APK بلوتوث تعریف‌شده در packages/modules/Bluetooth/android/app، کتابخانه داخلی libbluetooth_jni.so، میاناهای برنامه‌سازی کاربردی تحت packages/modules/Bluetooth/framework/java/android/bluetooth، و واسط‌های HIDL است.

مرز واحد

نمودار زیر مرز واحد بلوتوث را نشان می‌دهد:

محدوده واحد بلوتوث

شکل ۱. محدوده واحد بلوتوث.

وابستگی‌ها

واحد بلوتوث به موارد زیر وابسته است:

  • استفاده‌های ورودی و خروجی از @hide API
  • کتابخانه موردنیاز برای «فایل بلوتوث APK» (libbluetooth.so).
  • پیاده‌سازی HAL از ارائه‌دهنده مجموعه تراشه بلوتوث
  • چارچوب صوتی Android برای جاری‌سازی صوتی
  • تلفن Android برای تماس‌های تلفنی
  • اشتراک‌گذاری اینترنت Android برای «شبکه شخصی بلوتوث» (PAN)