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 kodları etkilemeden veya değiştirmeden daha düşük düzeyde, cihaza özgü özellikleri uygulamasına olanak tanır.
Zorunlu şartlar
Belgelerin bu bölümünde kullanılan terimlerin tanımları aşağıda verilmiştir:
- 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ğlanmış HAL
- Bağlayıcı işlemler arası iletişim (IPC) çağrıları kullanarak diğer süreçlerle iletişim kuran bir HAL. Binder HAL'ler, bunları kullanan istemciden ayrı bir işlemde çalışır. Binder HAL'ler, müşterilerin ö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ıdı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 edinmek için Uyumluluk matrisleri bölümüne bakın.
Ayrıca, 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)
Kullanılan programlama dilinden bağımsız olarak arayüzleri tanımlamak için kullanılan dil. HIDL, HAL istemcileri ve HAL hizmetleri arasında iletişim kurulmasını sağlar.
- Aynı Süreç (SP) HAL'si
Kısıtlanmış bir sarmalanmış HAL grubu. Gruptaki üyelik Google tarafından kontrol edilir. SP HAL'ler şunları içerir:
- Kararlı C haritacısı 5 HAL
- OpenGL
- Vulkan Dili
- android.hidl.memory@1.0 (Android sistemi tarafından sağlanır, her zaman sarmalanmış durumdadır)
- android.hardware.renderscript@1.0
- Sarmalanmış HAL
Android 8'den önce oluşturulmuş ancak Android 8 ve sonraki sürümlerle çalışmak üzere bir AIDL veya HIDL sarmalayıcı içine yerleştirilmiş bir HAL hizmeti.
Sırada ne var?
- Bir HAL hizmetinin nasıl uygulanacağını öğrenmek üzere HAL'ler için AIDL konusuna bakın.
- Mevcut bir HAL'yi nasıl oluşturacağınızı veya genişleteceğinizi öğrenmek için Ekli genişletilmiş arayüzler bölümüne bakın.