ब्लूटूथ

ब्लूटूथ एंड्रॉइड 13 से शुरू होने वाला एक वैकल्पिक मेनलाइन मॉड्यूल है। ब्लूटूथ मेनलाइन मॉड्यूल का लक्ष्य सभी एंड्रॉइड उपयोगकर्ताओं को एक सुसंगत, उच्च गुणवत्ता वाला ब्लूटूथ अनुभव प्रदान करना है।

प्रेरणा

ब्लूटूथ मॉड्यूल के पीछे प्राथमिक प्रेरणा भागीदारों, उपयोगकर्ताओं और ऐप डेवलपर्स को उच्च गुणवत्ता वाला अनुभव प्रदान करना है। हम इसे कुछ प्रमुख तरीकों से हासिल करेंगे:

  1. नई सुविधाओं, बग और इंटरऑपरेबिलिटी फिक्स और सुरक्षा फिक्स के साथ शिप अपडेट तेजी से और अधिक बार होता है।
  2. साझेदारों के लिए दोहराए जाने वाले कार्य को कम करें
    1. हर साल कोडबेस को दोबारा तैयार करने का ओवरहेड कम हो गया।
    2. पुराने उपकरणों के लिए ओटीए को लागू करने का ओवरहेड कम हो गया।
  3. विखंडन को कम करें और ऐप डेवलपर्स और उपयोगकर्ताओं के लिए एक सुसंगत अनुभव बनाएं
  4. Android पारिस्थितिकी तंत्र के भीतर वैश्विक सुरक्षा में सुधार करें। एंड्रॉइड सुरक्षा कमजोरियों के एक बड़े हिस्से में ब्लूटूथ शामिल है।

पैकेज प्रारूप

पैकेज एक एपेक्स है जिसमें ब्लूटूथ एपीके (वर्तमान में packages/modules/Bluetooth/android/app में परिभाषित), हमारी मूल लाइब्रेरी ( libbluetooth.so और libbluetooth_jni.so ), हमारे एपीआई ( packages/modules/Bluetooth/framework/java/android/bluetooth के अंतर्गत) शामिल हैं। packages/modules/Bluetooth/framework/java/android/bluetooth ), और हमारे एचआईडीएल इंटरफेस।

मॉड्यूल सीमा

मेनलाइन ब्लूटूथ मॉड्यूल आर्किटेक्चर

चित्र 1. ब्लूटूथ मॉड्यूल सीमा

हम अपने सभी मौजूदा रिपो को system/bt के तहत एक ही रिपो में स्थानांतरित कर रहे हैं। चित्र 1 वर्तमान निर्देशिकाओं को दर्शाता है जिसमें हमारा मॉड्यूल शामिल होगा।

निर्भरताएँ

ब्लूटूथ मॉड्यूल की निम्नलिखित पर निर्भरता है:

  • इनकमिंग और आउटगोइंग @hide API उपयोगों को साफ़ कर दिया जाएगा
  • ब्लूटूथ एपीके, libbluetooth.so और libbluetooth_jni.so के लिए आवश्यक लाइब्रेरी