Donanım soyutlama katmanı (HAL), donanım satıcılarının uygulayabileceği 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 ile 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. Bağlayıcılı 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 işlem.
- HAL arayüzü
- Hem HAL istemcisi hem de hizmeti tarafından iletişim kurmak için kullanılan ortak arayüz.
- HAL hizmeti
Donanıma özgü kod (ör. belirli cihazınızın kamerasıyla iletişim kuran kod). Tedarikçi firma bölümünüzde hedeflediğiniz sürüm için 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
Sınırlı sayıda sarmalanmış HAL. Grup üyeliği Google tarafından kontrol edilir. SP HAL'leri şunları içerir:
- Kararlı C mapper 5 HAL
- OpenGL
- Vulkan
- 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.