빈 ꡬ멍 μ±„μš°κΈ°

[Android] Using WebView from more than one process at once with the same data directory is not supported. / AwDataDirLock.java / org.chromium.android_webview.AwDataDirLock.b

⭐⭐기둝 2021. 3. 29. 18:42

Crashlytics 둜그λ₯Ό ν™•μΈν–ˆλ‹€.

 

AwDataDirLock.java / org.chromium.android_webview.AwDataDirLock.b

Using WebView from more than one process at once with the same data directory is not supported.

 

Android 9(API level 28) 이상 νƒ€κ²ŸνŒ…ν•˜λŠ” μ•±μ˜ 변경사항에 λŒ€μ‘ν•˜μ§€ λͺ»ν•œ κ²ƒμ΄μ—ˆλ‹€.

 

https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=ko#framework-security-changes

 

λ™μž‘ 변경사항: API 레벨 28+λ₯Ό νƒ€κ²ŸνŒ…ν•˜λŠ” μ•±  |  Android 개발자  |  Android Developers

Android 9(API 레벨 28)μ—μ„œλŠ” Android μ‹œμŠ€ν…œμ— λ§Žμ€ 변경사항이 λ„μž…λ©λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 λ™μž‘ 변경사항은 API 레벨 28 이상을 νƒ€κ²ŸνŒ…ν•˜λŠ” μ•±μ—λ§Œ μ μš©λ©λ‹ˆλ‹€. targetSdkVersion이 API 레벨 28 μ΄μƒμœΌλ‘œ μ„€μ •

developer.android.com

Android 9μ—μ„œ μ•± μ•ˆμ •μ„±κ³Ό 데이터 무결성을 κ°œμ„ ν•˜κΈ° μœ„ν•΄, 앱은 μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€ μ‚¬μ΄μ—μ„œ 단일 WebView λ°μ΄ν„° 디렉터리λ₯Ό κ³΅μœ ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 일반적으둜 μ΄λŸ¬ν•œ 데이터 λ””λ ‰ν„°λ¦¬λŠ” μΏ ν‚€, HTTP μΊμ‹œ 그리고 μ›Ή 검색과 κ΄€λ ¨λœ 기타 영ꡬ μ €μž₯μ†Œ 및 μž„μ‹œ μ €μž₯μ†Œλ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.

λ‘œκ·Έμ™€ λ™μΌν•œ λ‚΄μš©μ΄ μ ν˜€ μžˆμ—ˆλ‹€.

 

λŒ€λΆ€λΆ„μ˜ 경우 앱은 WebView λ° CookieManager와 같은 android.webkit νŒ¨ν‚€μ§€μ˜ 클래슀λ₯Ό ν•œ ν”„λ‘œμ„ΈμŠ€μ—μ„œλ§Œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ WebViewλ₯Ό μ‚¬μš©ν•˜λŠ” λͺ¨λ“  Activity κ°μ²΄λ₯Ό λ™μΌν•œ ν”„λ‘œμ„ΈμŠ€λ‘œ 이동해야 ν•©λ‹ˆλ‹€

ν•΄κ²° 방법

앱이 두 개 μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€μ—μ„œ WebView의 μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 경우 각 ν”„λ‘œμ„ΈμŠ€μ—μ„œ WebView의 μ£Όμ–΄μ§„ μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©ν•˜κΈ° 전에 WebView.setDataDirectorySuffix() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ— κ³ μœ ν•œ 데이터 디렉터리 접미사λ₯Ό μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. 이 λ©”μ„œλ“œλŠ” 각 ν”„λ‘œμ„ΈμŠ€μ˜ μ›Ή 데이터λ₯Ό μ•±μ˜ 데이터 디렉터리 내에 μžˆλŠ” 자체 디렉터리에 λ„£μŠ΅λ‹ˆλ‹€.

 

λ§Žμ€ μ‚¬λžŒλ“€μ΄ μ“°λŠ” 해결방법인 λ“― ν•˜λ‹€. > arjun30.medium.com/webview-data-directory-for-android-9-pie-d9744a1404e9

 

Webview data directory for Android 9 (Pie)

From Crashlytics report, i got to know that my app is crashing on Android 9 devices. After checking stacktrace log, it was related to…

arjun30.medium.com