Android 10.0 アプリは hal 層インターフェース関数を呼び出してシリーズ 4 (アプリ層実装) を実現します

1 はじめに

10.0システムROMカスタマイズ開発では、特定の機能を実現するためにアプリのhal層で呼び出す必要がある一部のインターフェースについて、機能要件を実現するためにアプリ からhal層へのインターフェースを公開する必要があります本節では、まずhal層でインターフェースを提供し、次にhal層インターフェースの呼び出しをjni層で実装し、フレームワーク層でjniインターフェースを呼び出すサービスを追加し、最後にアプリでのhal層の呼び出しを実現します

2. アプリは hal 層インターフェイス関数を呼び出して、シリーズ 4 のコア クラスを実現します (アプリ層の実装)

package/apps/TestService

3. アプリコールのコア機能解析と実現 ハル層インターフェース機能実現シリーズ4(アプリ層実現)

HAL は、ハードウェア実装の詳細を下方に保護し、上方に抽象インターフェイスを提供するハードウェア抽象化層です。HAL は、基盤となる
ハードウェアと上位フレームワーク間の直接インターフェイスです。フレームワーク層は、HAL を介してハードウェア デバイス
HAL とカーネル ドライバーを操作できます。HAL はユーザー空間に実装され、ドライバーはカーネル空間にあります。そのため、大手メーカーの利益を維持するには、コア アルゴリズムなどを hal 層に実装する必要があり
ます

Android システムのハードウェア抽象層 (HAL) はユーザー空間で実行され、ハードウェア ドライバー モジュールの実装の詳細を下方に保護し、上方にハードウェア アクセス サービスを提供します。ハードウェア抽象化レイヤーを通じて、Android システムはハードウェア デバイスをサポートするために 2 つのレイヤーに分割されます。1 つのレイヤーはユーザー空間 (ユーザー スペース) に実装され、もう 1 つのレイヤーは現在のカーネル スペース (カーネル スペース) です。従来の Linux システムは、カーネル空間でハードウェアを完全にサポートします。つまり、ハードウェア ドライバ モジュールでハードウェアのサポートを完全に実現します。

HIDL の正式名称は HAL インターフェース定義言語 (ハードウェア抽象化層インターフェース定義言語) で、その前の Android には AIDL&

おすすめ

転載: blog.csdn.net/baidu_41666295/article/details/131775635