문서 메뉴
문서 홈
/ /
Atlas Device SDK
/

문제 해결 - Java SDK

이 페이지의 내용

  • 사용자 지정 Android ROM의 시스템 앱에서 사용

Atlas Device SDK는 명명된 파이프를 사용하여 여러 프로세스에서 Realm 파일에 대한 알림과 액세스를 지원합니다. 이는 일반 사용자 앱의 경우 기본적으로 허용되지만 시스템 앱의 경우 허용되지 않습니다.

시스템 앱은 Android 매니페스트에서 android:sharedUserId="android.uid.system" 를 설정하여 정의됩니다. 시스템 앱의 경우 Logcat에 다음과 같은 보안 위반이 표시될 수 있습니다.

05-24 14:08:08.984 6921 6921 W .realmsystemapp: type=1400 audit(0.0:99): avc: denied { write } for name="realm.testapp.com.realmsystemapp-Bfqpnjj4mUvxWtfMcOXBCA==" dev="vdc" ino=14660 scontext=u:r:system_app:s0 tcontext=u:object_r:apk_data_file:s0 tclass=dir permissive=0
05-24 14:08:08.984 6921 6921 W .realmsystemapp: type=1400 audit(0.0:100): avc: denied { write } for name="realm.testapp.com.realmsystemapp-Bfqpnjj4mUvxWtfMcOXBCA==" dev="vdc" ino=14660 scontext=u:r:system_app:s0 tcontext=u:object_r:apk_data_file:s0 tclass=dir permissive=0

이 문제를 해결하려면 ROM에서 SELinux 보안 규칙을 조정해야 합니다.audit2allow 이 작업은 도구를 사용하여 수행할 수 있습니다. 이 도구는 AOSP의 일부로 제공됩니다.

  1. 기기에서 현재 정책을 가져옵니다: adb pull /sys/fs/selinux/policy.

  2. input.txt 이라는 텍스트 파일 내에 SELinux 오류를 복사합니다.

  3. audit2allow 도구를 실행합니다: audit2allow -p policy -i input.txt.

  4. 이 도구는 기존 정책에 추가할 수 있는 규칙을 출력해야 합니다. 이 규칙을 사용하면 여러 프로세스에서 Realm 파일에 액세스할 수 있습니다.

audit2allow 은(는) AOSP/ROM을 컴파일할 때 생성되며 Linux에서만 실행됩니다. Android 소스 문서 에서 자세한 내용을 확인하세요. . 또한 Android Oreo 이후 Google은 SELinux를 구성하는 방식을 변경했으며 기본 보안 정책이 이제 더 모듈화되었습니다. 자세한 내용은 Android 소스 문서를 참조하세요.

돌아가기

문제 해결

다음

SDK 원격 분석