Donanım soyutlama katmanı (HAL), donanım tedarikçilerinin uygulaması için standart bir arayüze sahip bir soyutlama katmanı türüdür. HAL, donanım tedarikçilerinin daha üst düzey katmanlardaki kodu etkilemeden veya değiştirmeden daha alt düzeyde, cihaza özgü özellikleri uygulamasını sağlar.
Zorunlu terimler
Belgenin bu bölümünde kullanılan terimlerin tanımlarını aşağıda bulabilirsiniz:
- Android Arayüz Tanımlama Dili (AIDL)
- Arayüzleri, kullanılan programlama dilinden bağımsız bir şekilde tanımlamak için kullanılan Java benzeri bir dil. AIDL, HAL istemcileri ve HAL hizmetleri arasında iletişime olanak tanır.
- Bağlayıcı HAL
- Bağlayıcı işlemler arası iletişim (IPC) çağrılarını kullanarak diğer işlemlerle iletişim kuran bir HAL. Binder HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Bağlayıcı HAL'ler, istemcilerin özelliklerine erişebilmesi için bir hizmet yöneticisine kaydedilir. Android 8 ve sonraki sürümler için yazılan HAL'ler bağlayıcıya bağlanır.
- HAL istemcisi
- HAL hizmetine erişen süreç.
- HAL arayüzü
- HAL istemcisinin ve hizmetinin iletişim kurmak için kullandığı ortak arayüz.
- HAL hizmeti
Donanıma özgü kod (ör. cihazınızın kamerasına gönderilen kod). Tedarikçi bölümünüzde hedeflediğiniz sürümün uyumluluk matrisinde listelenen tüm gerekli HAL'leri uygulamanız gerekir. Uyumluluk matrisleri hakkında daha fazla bilgi için Uyumluluk matrisleri başlıklı makaleyi inceleyin.
Donanımınızın benzersiz özelliklerini desteklemek için yeni bir HAL arayüzü oluşturabilir veya bir HAL arayüzünü genişletebilirsiniz.
- Donanım Arayüzü Tanımlama Dili (HIDL)
Arayüzleri, kullanılan programlama dilinden bağımsız bir şekilde tanımlamak için kullanılan bir dil. HIDL, HAL istemcileri ile HAL hizmetleri arasında iletişimi sağlar.
- Aynı İşlem (SP) HAL
Kısıtlanmış bir dizi sarmalanmış HAL grubu. Gruptaki üyelik Google tarafından kontrol edilir. SP HAL'leri şunları içerir:
- Kararlı C mapper 5 HAL
- OpenGL
- Vulkan Dili
- android.hidl.memory@1.0 (Android sistemi tarafından sağlanır, her zaman sarmalanır)
- android.hardware.renderscript@1.0
- Sarmalanmış HAL
Android 8'den önce oluşturulmuş ancak Android 8 ve sonraki sürümlerle çalışabilmesi için bir AIDL veya HIDL sarmalayıcısına yerleştirilmiş bir HAL hizmeti.
Sırada ne var?
- HAL hizmetinin nasıl uygulanacağını öğrenmek için HAL'ler için AIDL başlıklı makaleyi inceleyin.
- Mevcut bir HAL'i nasıl oluşturacağınızı veya genişleteceğinizi öğrenmek için Eklenmiş genişletilmiş arayüzler bölümüne bakın.