얼마전에 크래시틱스 아래와 같은 로그가 올라왔습니다.
Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377 : Current process
로그 내용을 보자면...
"Webview에서 다른 프로세스가 동일한 데이터 디렉토리에 접근하는 것을 지원하지 않는다."
뭐.. 이런 내용인 것 같습니다.
그 뒤로, https://crbug.com/558377 URL이 보여 웹브라우저에서 링크를 열어보았더니,
크롬 버그 사이트로 연결이 되어, 해당 이슈 관련한 보고나 댓글 등을 볼수가 있었습니다.
나외에도 다른 사람들도 이 버그로 고통받고 있구나라는 생각이 들었습니다. (위안이 되었어요.ㅎㅎ)
각설하고, 수정 방법에 대해서는 1가지 방법뿐인 것 같더라구요.
(구글링을 아무리해봐도 모두 똑같은 방법으로 가이드가 있었습니다.
다만, 자바 코드로 가이드가 되어 있어서, 저는 Kotlin 으로 코드를 만들어 봤습니다.
fun WebView.setPath(context: Context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val processName = Application.getProcessName()
if(processName != context.packageName) {
WebView.setDataDirectorySuffix(processName)
}
}
}
WebView에서 손쉽게 사용 가능하도록, Extension으로 만들었습니다.
사용은 onCreate()에서 아래와 같이 간단하게 호출을 하시면 됩니다.
web_view.setPath(requireContext())
구글링을 하면서 알게된 것인데, 위의 수정 방법으로 해결이 안되다는 사람들도 있는 것으로 봐서는...
더이상 수정이 안되다면 WebView 버그라고 생각하는 편이 정신 건강에 좋을 것 같습니다.

'Android + Kotlin' 카테고리의 다른 글
[Android + Kotlin] sortedWith() 로 멀티 조건 정렬을 해보자. (0) | 2022.05.03 |
---|---|
[Android + Kotlin] 날짜/시간 <-> currentTimeMillis 변환 및 format 표시 (1) | 2022.03.29 |
[Android Kotlin] sealed class로 Network Response (with Flow)를 구현해보자. (0) | 2022.03.16 |
adb: more than one device/emulator 문제 해결하기 (0) | 2022.03.14 |
[Android + Kotlin] 아이폰의 스와이프하여 뒤로가기 기능을 구현해보자. (1) | 2022.02.18 |