문제 해결 - Kotlin SDK
iOS/iPad OS 할당 불량/사용 가능한 메모리 부족
메모리가 부족한 iOS 또는 iPad 장치나 다수의 영역 또는 많은 알림을 사용하는 메모리 집약적인 애플리케이션을 사용하는 경우 다음과 같은 오류가 발생할 수 있습니다.
libc++abi: terminating due to an uncaught exception of type std::bad_alloc: std::bad_alloc
이 오류는 일반적으로 사용 가능한 메모리가 부족하여 리소스를 할당할 수 없음을 나타냅니다.
iOS 15+ 또는 iPad 15+용으로 빌드하는 경우 확장 가상 주소 지정 권한 을 추가할 수 있습니다. 을(를) 클릭하여 이 문제를 해결하세요.
다음 키를 속성 목록에 추가하고 값을 true
으)로 설정합니다.
<key>com.apple.developer.kernel.extended-virtual-addressing</key> <true/> <key>com.apple.developer.kernel.increased-memory-limit</key> <true/>
사용자 지정 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의 일부로 제공됩니다.
기기에서 현재 정책을 가져옵니다:
adb pull /sys/fs/selinux/policy
.input.txt
이라는 텍스트 파일 내에 SELinux 오류를 복사합니다.audit2allow
도구를 실행합니다:audit2allow -p policy -i input.txt
.이 도구는 기존 정책에 추가할 수 있는 규칙을 출력해야 합니다. 이 규칙을 사용하면 여러 프로세스에서 Realm 파일에 액세스할 수 있습니다.
audit2allow
은(는) AOSP/ROM을 컴파일할 때 생성되며 Linux에서만 실행됩니다. Android 소스 문서 에서 자세한 내용을 확인하세요. . 또한 Android Oreo 이후 Google은 SELinux를 구성하는 방식을 변경했으며 기본 보안 정책이 이제 더 모듈화되었습니다. 자세한 내용은 Android 소스 문서를 참조하세요.