Android 12.0 앱은 hal 레이어 인터페이스 기능 구현 시리즈 2(jni 레이어 기능 구현)를 호출합니다.

1. 소개

 12.0 시스템 ROM의 맞춤형 개발에서 일부 hal 레이어를 개발할 때 특정 기능을 구현하기 위해 앱에서 호출해야 하는 hal 레이어의 일부 인터페이스에 대해 앱에서 hal로의 인터페이스를 열어야 합니다. 요구 사항,
이 섹션에서는 먼저 hal 계층에서 인터페이스를 제공한 다음 jni 계층에서 hal 계층 인터페이스 호출을 구현하는 방법에 대해 설명합니다. 다음으로
프레임워크 계층에서 jni 파일을 생성하여 hal 계층 인터페이스를 호출합니다.

2. 앱은 hal 레이어 인터페이스 기능 구현 시리즈 2(jni 레이어 기능 구현)의 핵심 클래스를 호출합니다.

       frameworks/base/services/core/jni/com_android_server_TestService.cpp
        frameworks/base/services/core/jni/Android.bp
        frameworks/base/services/core/jni/onload.cpp

3. hal 레이어 인터페이스 기능 구현(jni 레이어 기능 구현)을 호출하는 두 번째 앱 시리즈의 핵심 기능 분석 및 구현

HAL은 하드웨어 추상화 계층입니다. 하드웨어의 구현 세부 사항을 아래로 보호하고 추상 인터페이스를 위쪽으로 제공합니다.
HAL은 기본 하드웨어와 상위 계층 프레임워크 간의 직접적인 인터페이스입니다. 프레임워크 계층은 하드웨어 장치
HAL 및 커널 드라이버를 작동할 수 있습니다. HAL을 통해 HAL은 사용자 공간에 구현되고 드라이버는 커널 공간에 있으므로
주요 제조업체의 이익을 보호하려면 핵심 알고리즘 등을 hal 계층에 구현해야 합니다.

HIDL의 정식 명칭은 HAL 인터페이스 정의 언어(Hardware Abstraction Layer Interface Definition Language)이며, 그 전에 안드로이드에는 안드로이드
바인더를 기반으로 구축되어 바인더 통신을 기반으로 안드로이드 클라이언트와 서비스 간의 인터페이스를 정의하는 데 사용되는 AIDL이 있었습니다.
HIDL에는 비슷한 기능이 있지만 Android 프레임워크를 정의합니다.

Supongo que te gusta

Origin blog.csdn.net/baidu_41666295/article/details/133524600
Recomendado
Clasificación