기기별 인덱싱 및 구조화된 검색 엔진인 AppSearch는 Android 12에서 APEX로 제공되었습니다. Android 13에서는 AppSearch가 Mainline 모듈로 제공됩니다.
동기 부여
Android 생태계 전반에 걸쳐 AppSearch를 일관되게 구현하고 업데이트 가능성을 지원합니다.
이익:
- Play 스토어를 통한 AppSearch 업데이트 허용
- AppSearch CDD 요구 사항 준수 확인
세부
- AppSearch API를 통해 수집된 데이터는 사용자의 기기에 남아 있습니다(성능 최적화 목적으로 사용되는 집계된 메트릭 데이터 제외).
- I/O 사용량이 적은 빠른 모바일 우선 스토리지 구현
- 대용량 데이터 세트에 대한 매우 효율적인 인덱싱 및 쿼리
- 영어, 스페인어, CJKT 등 다국어 지원
- 관련성 순위 및 사용 점수
앱서치 아키텍처
그림 1은 AppSearch 개념과 시스템 서비스 프로세스 경계를 보여줍니다.
그림 1. AppSearch 모듈 아키텍처
모듈 경계
AppSearch 메인라인 Apex -
com.android.appsearch
- AppSearch API 표면(자바)
- 코드 위치:
frameworks/base/apex/appsearch/framework
- 프로세스: BOOT_CLASS_PATH
- 코드 위치:
- AppSearchManagerService(자바)
- 코드 위치:
frameworks/base/apex/appsearch/service
- 프로세스: system_server
- 코드 위치:
- Icing 네이티브 라이브러리(C++)
- 코드 위치:
external/icing
- 프로세스: system_server
- 코드 위치:
- AppSearch API 표면(자바)
HAL 인터페이스/구현(C++)
- 해당 없음
그림 1의 모듈 아키텍처 다이어그램을 참조하십시오.
패키지 형식
이 모듈의 주요 기능은 APEX 패키지 com.android.appsearch
에 포함되어 있습니다.
종속성
- 리비쿠
- libprotobuf-cpp-lite
- ndk
커스터마이징
이 모듈은 사용자 정의할 수 없습니다.