adb remount 기능을 비활성화하는 Android 10.0 구현

1. 개요

 10.0의 시스템 개발에서 특정 제품을 개발할 때 adb remount 기능을 비활성화해야 합니다. 즉, 시스템을 다시 마운트할 수 없으며 시스템 파티션, 공급업체 파티션 등은 읽기 권한만 가질 수 있고 쓰기 권한은 가질 수 없습니다
. , 그럼 다시 마운트를 비활성화하는 방법을 살펴보겠습니다.

2. adb remount 기능 구현을 비활성화하는 핵심 클래스

system\core\fs_mgr\fs_mgr_remount.cpp
system\core\adb\daemon\services.cpp

3. 핵심 기능 분석 및 adb remount 기능 비활성화 구현


PC가 장치에 연결된 후 adb 작업을 수행할 때 관련 명령이 소켓을 통해 장치로 전송되어 실행됩니다. 따라서
adb가 remount 명령을 보내면 시스템은 명령줄 도구 /system/bin/remount를 호출합니다. 특정 명령을 실행하려면 다시 마운트하세요.
이 bin 파일은 system/core/fs_mgr/fs_mgr_remount.cpp에서 특별히 컴파일되었으며 특정 마운트 작업을 수행할 때
시스템 파티션, 공급업체 파티션, 제품 파티션 등 기본 파티션을 다시 마운트하여 시스템 파티션, 공급업체 파티션을 읽습니다. 및 제품 파티션
쓰기 작업이므로 이러한 분석 쓰기 작업을 금지하려면 다시 마운트 기능을 비활성화해야 합니다.

adb remount는 시스템 파티션을 다시 마운트하여 시스템 파티션을 다시 마운트합니다. 다시 마운트하면 파티션의 속성이 수정됩니다. 일반적인 수정 매개변수는 파티션 읽기 및 쓰기입니다.
안드로이드 시스템의 시스템 파티션은 시작 후 읽기 전용 파티션이기 때문에 이 명령어를 주로 사용하는데, 개발 과정에서 시스템 파티션을 수정해야 한다면 읽기-쓰기 모드로 다시 마운트해야 한다.

'adb remount'는 'adb shell mount -o rw,remount,rw /system'과 동일합니다.

추천

출처blog.csdn.net/baidu_41666295/article/details/132951594