Webkit
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2026년 5월 19일 | 1.16.0 | - | - | 1.17.0-alpha01 |
종속 항목 선언
Webkit의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.webkit:webkit:1.16.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.16.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Webkit 버전 1.17
버전 1.17.0-alpha01
2026년 5월 19일
androidx.webkit:webkit:1.17.0-alpha01이 출시되었습니다. 버전 1.17.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
WebView#loadUrl의 개선된 버전인WebViewCompat#navigate가 추가되었습니다.loadUrl와 마찬가지로 이 메서드는WebView에 지정된 URL을 로드하지만 다음과 같은 추가 기능을 제공합니다.- 탐색 기록에서 현재 페이지를 대체할 수 있습니다.
- 개발자가 탐색 호출과 탐색 콜백을 일치시킬 수 있도록 Navigation 객체를 반환합니다.
- 상태 저장 시 저장 및 복원을 비롯하여 추가 헤더를 더 일관되고 이해하기 쉬운 방식으로 처리합니다. (Iedefd, b/408128748)
SpeculativeLoadingParameters가 지원 중단되었습니다. 앱은 추측 로드 기능을 제어하기 위해 더 구체적인PrerenderParameters또는PrefetchParameters로 이전해야 합니다. (I8afed)- 사전 렌더링 동작을 관리하기 위해
Profile에 새 메서드가 추가되었습니다.Profile#getMaxPrerenders()은 현재 한도를 가져오고Profile#clearMaxPrerenders()은 기본값으로 재설정합니다. (I696ed) - 실험용
Profile#setOriginMatchedHeader및 관련 메서드가 삭제되었습니다. 이 API는1.15.0에서 안정적인 API로 출시된 Profile#addCustomHeader로 대체되었습니다. (Ia7f5c, b/485235632)
Webkit 버전 1.16
버전 1.16.0
2026년 5월 6일
androidx.webkit:webkit:1.16.0이 출시되었습니다. 버전 1.16.0에는 이러한 커밋이 포함되어 있습니다.
1.15.0 이후 중요 변경사항:
1.16.0 안정화 버전에서는 여러 API가 실험용 상태에서 벗어나 비동기 WebView 시작 및 탐색 리스닝과 같은 기능의 안정성과 개발자 환경이 크게 개선되었습니다.
이 라이브러리의 지원되는 최소 SDK (minSdk)가 24로 상향되었습니다.
startUpWebViewAPI와ProcessGlobalConfig및WebViewStartUpConfig의 관련 비동기 시작 구성 API가 실험용에서 안정화 버전으로 전환되었습니다. 이러한 API를 사용하면 애플리케이션에서 WebView 시작을 더 일찍 트리거하여 시작의 일부가 백그라운드에서 실행되도록 하여 응답성을 개선할 수 있습니다. 이전 버전의startUpWebView는 지원 중단되었으며 사용자는 실패 콜백을 용이하게 하기 위해WebViewOutcomeReceiver를 사용하는 새 버전으로 이전해야 합니다.WebViewCompat\#addNavigationListener,NavigationListener,Navigation,Page를 비롯한 탐색 API가 안정화 버전으로 전환되었습니다. 이러한 API를 사용하면 앱 개발자가NavigationListener인터페이스를 통해 페이지 탐색의 여러 단계에서 WebView로부터 콜백을 받을 수 있습니다. 또한 페이지에서 성능 측정항목을 수신하는 옵션도 포함되어 있어 앱 개발자가 앱의 퍼스트 파티 페이지 성능을 더 쉽게 측정할 수 있습니다.Navigation및Page객체는 여러 WebView 또는 탐색이 동시에 발생할 수 있는 경우 다양한 콜백 간의 링크 역할을 하는 고유 식별자 역할을 합니다.Navigation객체는 시작된 방법, 성공 여부, 오류 페이지 발생 여부 등 진행 중인 탐색의 구체적인 특성에 관한 추가 정보를 제공하고Page객체는 구체적인 URL을 제공합니다.WebViewCompat\#saveState은 개발자가 상태의 최대 크기와 이전 기록 항목을 포함할지 여부를 지정할 수 있는 더 많은 컨트롤을 사용하여WebView\#saveState메서드를 확장합니다. 저장된 상태 객체는 여전히WebView\#restoreState와 호환됩니다.- 이 라이브러리 버전에서는
android.os.OutcomeReceiver의 라이브러리별 구현으로WebViewOutcomeReceiver을 도입하여 이 라이브러리가 더 높은targetSdk값에 의존하지 않고도 비동기 콜백 결과 처리를 위한 유사한 메커니즘을 제공할 수 있습니다. 이 클래스는 실험 상태일 때androidx.webkit.OutcomeReceiverCompat로 명명되었지만 이름 충돌을 방지하기 위해 이름이 변경되었습니다. 외부 기여: 문서 로드 이벤트 (
WebViewCompat#addJavaScriptOnEvent)의 일부로 지속적인JavaScript를 삽입하고, 기존 페이지JavaScript와의 충돌을 방지하기 위해JavaScript및WebMessageListeners를 격리된 세계에 삽입하고, 웹 메시지 (JavaScriptReplyProxy#executeJavaScript)에 대한 응답으로JavaScript를 실행하는 새로운 API가 도입되었습니다.1.15.0 이후 추가된 실험용 API
빌더 구성을 사전 구성된
WebViews에 적용하기 위한WebViewBuilder.applyToAPI가 추가되었습니다. 이렇게 하면 기존WebView객체와 함께WebViewBuilderAPI의 구성 기능과 설정이 변경되지 않는다는 해당 보장을 사용할 수 있습니다. 이는 레이아웃 인플레이션에서 생성된WebView인스턴스 또는WebView의 하위 클래스와 함께 사용하기 위한 것입니다.
1.15.0 이후 업데이트된 실험용 API
BackForwardCacheSettings객체가WebSettingsCompat을 통해 제공되는 구성 객체에서 WebSettingsCompat#getBackForwardCacheSettings를 호출하여 가져올 수 있는 라이브 객체로 변경되었습니다. 이제 객체에 설정을 직접 업데이트하는 setter 메서드가 있습니다. 이전Builder중첩 클래스가 삭제되었으며WebSettingsCompat#setBackForwardCacheSettings.도 삭제되었습니다. 이전에 이러한 메서드를 사용한 앱은 업그레이드 시 빌드 오류가 발생합니다.Profile#setSpeculativeLoadingConfig는 지원 중단되었습니다. 대신Profile#setMaxPrerenders,PrefetchCache#setMaxPrefetches,PrefetchCache#setPrefetchTtlSeconds를 사용하세요.Profile#clearPrefetchAsync가 no-op이므로 삭제했습니다.- 앱에서 정보를 더 잘 처리할 수 있도록
StartUpLocation.getStackInformation()의 반환 유형이String에서Throwable로 변경되었습니다.
버전 1.16.0-rc01
2026년 4월 22일
androidx.webkit:webkit:1.16.0-rc01이 출시되었습니다. 버전 1.16.0-rc01에는 이 커밋이 포함되어 있습니다.
androidx.webkit:webkit:1.16.0-beta01이후 변경사항이 없습니다 .
버전 1.16.0-beta01
2026년 4월 8일
androidx.webkit:webkit:1.16.0-beta01이 출시되었습니다. 버전 1.16.0-beta01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 이제
Profile.prefetchUrlAsync의CallbackExecutor인수는 null이 허용되며 제공되지 않으면 기본값은 기본 스레드입니다. (Ib89ef, b/483041824)
버전 1.16.0-alpha04
2026년 3월 25일
androidx.webkit:webkit:1.16.0-alpha04이 출시되었습니다. 버전 1.16.0-alpha04에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
startUpWebViewAPI와ProcessGlobalConfig및WebViewStartUpConfig의 관련 비동기 시작 구성 API가 실험용에서 안정화 버전으로 전환되었습니다.
WebView 시작은 시간이 오래 걸릴 수 있으므로 이러한 API를 사용하면 애플리케이션이 적절한 시간에 WebView 시작을 트리거하여 백그라운드에서 실행할 수 있는 WebView 시작 부분이 백그라운드에서 실행되도록 하여 첫 번째 WebView 사용의 응답성을 개선할 수 있습니다.
이 API는 이전에 실험용으로 출시되었으며 이제@OptIn주석 없이 사용할 수 있습니다. 이전 버전의startUpWebView은 지원 중단되었으며 해당 API 사용자는 실패 콜백을 용이하게 하기 위해WebViewOutcomeReceiver를 사용하는 새 버전으로 이전해야 합니다. (Iebb60, I56bf7)- Navigation API에는 더 이상
@OptIn주석을 사용할 필요가 없습니다.
여기에는WebViewCompat#addNavigationListener와NavigationListener인터페이스, 탐색 및 페이지 클래스가 포함됩니다.Navigation및Page유형은 이제 인터페이스가 아닌 클래스입니다.
이제 이러한 API는 새로운WebViewFeature#NAVIGATION_LISTENER기능 상수를 사용하여 기능 확인을 해야 합니다. (I410c8, b/474625648, b/448580228, b/479792864, b/432696062, b/474625648) WebViewCompat#saveState에서 실험용 주석을 삭제합니다. 이 API는WebView#saveState와 유사하지만 개발자가 상태의 최대 크기와 앞으로 이동 기록 항목을 포함할지 여부를 지정할 수 있습니다. (Ie3fe1, b/389076708)Profile#setSpeculativeLoadingConfig는 지원 중단되었습니다. 대신Profile#setMaxPrerenders,PrefetchCache#setMaxPrefetches,PrefetchCache#setPrefetchTtlSeconds를 사용하세요. (I9f0f7, I9b977, b/466301565)
버전 1.16.0-alpha03
2026년 3월 11일
androidx.webkit:webkit:1.16.0-alpha03이 출시되었습니다. 버전 1.16.0-alpha03에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
NavigationListener에 새로운 웹 성능 측정항목 APIonFirstContentfulPaintMillis,onLargestContentfulPaintMillis,onPerformanceMarkMillis가 추가되었습니다. 이러한 API를 사용하면 개발자가 JavaScript를 사용하여 가져오는 대신 앱에서 직접 콘텐츠가 포함된 첫 페인트/최대 콘텐츠 페인트와 성능 마크를 추적할 수 있습니다. (Idb93b, b/432696062)- 탐색 객체에 오류 정보가 추가되었습니다.
Navigation#getWebResourceError및WebResourceError#getDebugCode.을 참고하세요. 네트워크 오류로 인해 탐색 로드에 실패하면 이제 탐색 객체에서 실패 이유에 관한 오류 정보를 확인할 수 있습니다. (I18bdc, b/474625648) WebSettingsCompat#getBackForwardCacheSettings를 호출하여 가져올 수 있고 설정/가져오기 메서드를 통해 각 설정을 변경하는 데 사용할 수 있는 새BackForwardCacheSettings객체로BackForwardCache설정의 API 모양을 업데이트합니다.
참고:WebSetingsCompat#setBackForwardCacheSettings및BackForwardCacheSettings.Builder가 삭제되므로 삭제된 API를 사용한 경우 이 버전으로 업데이트하면 컴파일 오류가 발생할 수 있습니다. (I377f4)- 디버그 정보를 프리패치 요청에 연결하는 API 추가 (Ibb300, b/474559983)
API 변경사항
- 지원되는 최소 SDK (minSdk)가 24로 상향되었습니다. SDK 버전 24 미만을 타겟팅하는 앱은 이 라이브러리와 향후 버전을 사용하려면 타겟 SDK를 업데이트해야 합니다. (I4df32, b/452708695)
- 실험용
Profile#clearPrefetchAsync가 no-op이므로 삭제했습니다. 이는 개발 중인 기능으로 작동하지 않았습니다. 캐시를 삭제해야 하는 경우 기능 요청을 제출하세요. (I341a4, b/483043529) androidx.webkit.OutcomeReceiverCompat를 안정 상태로 마이그레이션하고WebViewOutcomeReceiver로 이름을 변경했습니다. 이 라이브러리별 인터페이스 복사본을 사용하면webkit라이브러리가compileSdk = 33를 유지할 수 있으며 새 이름은 이름 충돌을 방지합니다. (I0ebf7, I6ef8a, b/487934754)- 앱에서 정보를 더 잘 처리할 수 있도록
StartUpLocation.getStackInformation()의 반환 유형이String에서Throwable로 변경되었습니다. (I938d6, b/417434566)
외부 기여
- 문서 로드 이벤트의 일부로 영구 JavaScript를 삽입합니다. 이는 기존
WebViewCompat#addDocumentStartJavaScript와 유사하게 작동하지만 스크립트가 실행될 때 DOM이 준비되도록 합니다. 새 API는WebViewCompat#addJavaScriptOnEvent입니다. - 기존 페이지 JavaScript와의 충돌을 방지하기 위해 격리된 세계에 JavaScript와
WebMessageListener를 삽입합니다. 새 API는WebViewCompat#addJavaScriptOnEvent및WebViewCompat#addWebMessageListener입니다. - 메시지를 보낸 동일한 프레임/세계 조합의 페이지에서 보낸 웹 메시지에 대한 응답으로 JavaScript를 실행합니다. 새 API는
JavaScriptReplyProxy#executeJavaScript입니다. (I45d92, b/483103617)
- 문서 로드 이벤트의 일부로 영구 JavaScript를 삽입합니다. 이는 기존
버전 1.16.0-alpha02
2026년 2월 11일
androidx.webkit:webkit:1.16.0-alpha02이 출시되었습니다. 버전 1.16.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 페이지 객체와 연결된 URL을 반환하는
Page#getUrl()추가 (I0a5d7, b/465339942) - 사전 구성된 WebView에 빌더 구성을 적용하기 위한
WebViewBuilder.applyToAPI 추가 (Iae133, b/463288296)
버전 1.16.0-alpha01
2026년 1월 14일
androidx.webkit:webkit:1.16.0-alpha01이 출시되었습니다. 버전 1.16.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
NavigationListener에 새로운 웹 성능 측정항목 APIonFirstContentfulPaintMillis,onLargestContentfulPaintMillis,onPerformanceMarkMillis가 추가되었습니다. 이러한 API를 사용하면 개발자가 JavaScript를 사용하여 FCP/LCP 및 성능 마크를 가져오는 대신 앱에서 직접 추적할 수 있습니다. (I50266, b/432696062)WebViewFeature에NAVIGATION_LISTENER_NON_NULL_PAGE_FOR_SAME_DOCUMENT_NAVIGATIONS를 추가합니다. 이는 동일한 문서 탐색에서Navigation#getPage가 null을 반환하는지 확인하는 데 사용할 수 있습니다. (I3a2aa)
버그 수정
getProfilesToLoadDuringStartup에서 문자열 매개변수의 null 허용 여부 수정 (Ic2ce5)- 누락된
WebViewBuilder기능 확인 상수 노출 (I95534)
버전 1.15
버전 1.15.0
2025년 12월 17일
androidx.webkit:webkit:1.15.0이 출시되었습니다. 버전 1.15.0에는 이러한 커밋이 포함되어 있습니다.
1.14.0 이후 중요 변경사항
이 출시 버전에서는 minSdk이 API 21에서 API 23으로 증가합니다. 또한 다음과 같은 새로운 API 기능이 도입되었습니다.
- WebView 및 서비스 워커의
shouldInterceptRequest콜백의 일부로 쿠키에 액세스하고 쿠키를 설정합니다. 현재shouldInterceptRequest의 일부로CookieManagerAPI에 액세스하는 앱 개발자는 이제 WebViewCompat#setCookiesIncludedInShouldInterceptRequest를 호출하여 쿠키 헤더를 직접 사용 설정할 수 있습니다. 그러면WebView에서 WebResourceRequest.getRequestHeaders() 맵에Cookie헤더를 추가하게 되며, 이는 요청에 적용되는 정확한 쿠키가 됩니다. 이렇게 하면 파티셔닝된 쿠키도 올바르게 처리됩니다. 앱은 새로 추가된 WebResourceResponseCompat#setCookies API를 통해Set-Cookie헤더 값을 제공할 수 있습니다. 여기에 추가된Set-Cookie값은 응답 처리의 일부로WebView에 의해 처리됩니다. - 커스텀 요청 헤더를 설정합니다. Profile#addCustomHeader API를 사용하면 앱 개발자가 지정된 출처 패턴과 일치하는 요청에 전송될 정적 헤더 이름-값 쌍 목록을 설정할 수 있습니다.
- WebView 하이퍼링크 컨텍스트 메뉴에서 항목 맞춤설정 허용 앱 개발자는 WebViewCompat#setHyperlinkContextMenuItems를 호출하여 사용자가 하이퍼링크를 길게 누를 때 컨텍스트 메뉴에 표시되는 항목을 지정할 수 있습니다.
- 사전 렌더링을 트리거합니다. WebViewCompat#prerenderUrlAsync를 사용하면 애플리케이션이
WebView에 표시되기 전에 URL을 추측하여 사전 렌더링할 수 있습니다. 사전 렌더링은 페이지를 미리 가져와 로드 성능을 크게 개선할 수 있습니다. 사용자가 URL로 이동하면 사전 렌더링된 페이지가 즉시 표시됩니다. - WebSettingsCompat#setBackForwardCacheSettings API를 호출하여
WebView에서 BackForwardCache의 세부사항을 제어합니다. 이 API를 사용하면 제한 시간을 초 단위로 설정하거나 페이지 캐시 한도를 조정할 수 있습니다. - 마지막으로
WebView에서X-Requested-With헤더 삭제가 취소되었으며 헤더가 모든 요청에서 다시 전송됩니다. 따라서 허용 목록 API는 더 이상 필요하지 않으며 지원 중단되었습니다.
1.14.0 이후 추가된 실험용 API
WebView라이브러리에는 현재 실험 상태인 여러 API도 도입되었습니다. 이러한 API에 관한 자세한 내용은 패키지 요약을 참고하세요. 이러한 API에 관한 의견이 있으면 [email protected]로 이메일을 보내거나 문제 추적기에 의견을 제출하여 공유해 주세요.
다음 기능은 실험 단계에 있습니다.
- ProcessGlobalConfig#setUiThreadStartupMode를 사용하면 WebView의 UI 스레드 초기화를 구성할 수 있습니다. 특히 이를 통해 시작이 단일 작업으로 실행되어야 하는지 아니면 UI 스레드 Looper에 제어권을 양보하는 더 작은 작업으로 분할되어야 하는지 선택할 수 있습니다.
- WebViewBuilder API로 나중에 변경할 수 없는 제한된 구성으로
WebView인스턴스를 만듭니다. 처음에는 지정된 출처 목록에만 삽입되는 JavaScript 인터페이스 객체를 추가할 수 있으므로 사용 보안이 크게 개선됩니다. 이렇게 하면 생성된WebView인스턴스에 대한 추가addJavascriptInterface호출도 사용 중지되어 변경 불가능한 구성이 보장됩니다. - WebViewCompat#startUpWebView API에 관해 자세히 설명했습니다.
- 이제 로드할 프로필 세트를 동기식으로 지정할 수 있습니다. 이를 통해 앱 개발자는 프로필 로드를 완전히 건너뛰거나 앱에서 사용하는 정확한 프로필 세트를 지정하여 모든 프로필이 로드되도록 할 수 있습니다.
- 이제 getUiThreadBlockingStartUpLocations 및 getNonUiThreadBlockingStartUpLocations 콜백을 사용하여 WebView 시작이 UI 스레드 또는 백그라운드 스레드를 차단하는 앱의 위치를 확인하여 비동기 시작을 더 쉽게 디버그할 수 있습니다.
WebView의 UI 스레드 초기화가 실행되는 방식을 구성할 수 있습니다.
- Profile#warmUpRendererProcess를 호출하여 프로필의 렌더러 프로세스를 준비합니다. 이 API는 복잡한
WebView수명 주기가 있는 애플리케이션이 모든 WebView 인스턴스가 소멸된 경우에도 렌더러 프로세스가 실행되도록 하는 데 사용할 수 있습니다. - Profile#addQuicHints를 사용하면 앱이 제공된 출처에 연결할 때 QUIC / HTTP3을 선호하도록
WebView에 지시할 수 있습니다. - Profile#preconnect를 사용하면 앱이 향후 로드를 빠르게 하기 위해 탐색하기 전에 출처에 대한 연결을 열 수 있습니다.
1.14.0 이후 업데이트된 실험용 API
- 탐색 리스너 API가 업데이트되어 애플리케이션이 여러 리스너 인스턴스를 제공할 수 있으며, 이는 선택적으로 백그라운드 스레드 콜백을 위한 맞춤 Executor로 구성할 수 있습니다. 이전에는 WebNavigationClient API였으며, 새 API로 인해 지원이 중단되었습니다. 또한 이번 업데이트에서는 onFirstContentfulPaint 콜백에 타이밍 정보도 추가하여 탐색 시작부터 페인트 이벤트까지의 시간 정보를 제공합니다.
버전 1.15.0-rc01
2025년 12월 3일
androidx.webkit:webkit:1.15.0-rc01이 출시되었습니다. 버전 1.15.0-rc01에는 이 커밋이 포함되어 있습니다.
androidx.webkit:webkit:1.15.0-beta01이후 업데이트가 없습니다.
버전 1.15.0-beta01
2025년 11월 19일
androidx.webkit:webkit:1.15.0-beta01이 출시되었습니다. 버전 1.15.0-beta01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 실험용
WebViewBuilderAPI 추가 (I06828, b/409740828) - Chromium 시작을 중지하는 비동기 시작을 위해
UiThreadStartupMode추가 (I524ee, b/397372092)isMultiProcessEnabled() - 1.16 출시까지
UserAgent폼 팩터 숨기기 (Ibac8a, b/430554841, b/454438418) - 애플리케이션이
NavigationListener인스턴스를 제공할 수 있도록 탐색 API를 업데이트합니다. 이 인스턴스는 선택적으로 백그라운드 스레드 콜백을 위한 맞춤 실행기로 구성할 수 있습니다. 이제 단일WebView에 여러NavigationListener인스턴스를 추가할 수 있습니다.
또한 이 업데이트는onFirstContentfulPaint콜백에 타이밍 정보를 추가하여 탐색 시작부터 페인트 이벤트까지의 시간 정보를 제공합니다. (I6aa8e, b/448580228) - 앱이 제공된 출처에 연결할 때 QUIC / HTTP3을 선호하도록
WebView에 알릴 수 있는Profile#addQuicHints추가 (I8e364, b/445339041) - 실험용 주석으로 기능 상수를 업데이트하고 실험용 API에 관한 자세한 정보로 라이브러리 README를 업데이트했습니다. (I1b914)
버그 수정
androidx.webkit:webkit:1.15.0-beta01출시 (I0b1bd, b/417241552)
버전 1.15.0-alpha03
2025년 10월 8일
androidx.webkit:webkit:1.15.0-alpha03이 출시되었습니다. 버전 1.15.0-alpha03에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
- 커스텀 요청 헤더를 설정하는 새로운 API를 도입합니다. 이전 실험용 API의 반복이며 이제 애플리케이션이 각 헤더에 여러 값을 설정할 수 있습니다. 각 값은 서로 다른 출처 패턴 집합에 매핑됩니다. 새 API를 사용하면 애플리케이션에서 구성된 헤더를 검사할 수도 있습니다. (Id7d30, b/419469873, b/429269470)
WebView에서 X-Requested-With 헤더 삭제가 취소되었으며 헤더가 기본적으로 모든 요청에서 다시 전송됩니다. 허용 목록 API는 더 이상 필요하지 않으며 지원 중단되었습니다. (I884c3, b/447094379)- 개발자가 초 단위의 시간 제한이나 페이지 캐시 제한 설정 등
WebView의 뒤로-앞으로 캐시를 구성할 수 있도록WebSettingsCompat에 새 API 추가 (I642b2, b/432395269) WebView하이퍼링크 컨텍스트 메뉴에서 항목을 맞춤설정할 수 있도록HyperlinkContextMenuAPI 추가 (Idb809, b/382654667)startUpWebViewAPI를 사용하지 않고WebView가 비동기식으로 시작된 사례를 디버깅하기 위해getAsyncStartUpLocationsAPI 추가 (I6bf4b, b/417434566)
버전 1.15.0-alpha02
2025년 8월 27일
androidx.webkit:webkit:1.15.0-alpha02이 출시되었습니다. 버전 1.15.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 앱이 향후 로드 속도를 높이기 위해 탐색하기 전에 출처에 연결을 열 수 있는
Profile#preconnect추가 (I8db41) WebViewCompat에 새로운prerenderUrlAsyncAPI가 추가되어 애플리케이션이 WebView에 표시되기 전에 URL을 추측하여 사전 렌더링할 수 있습니다.
사전 렌더링은 페이지를 미리 가져와 로드 성능을 크게 개선할 수 있습니다. 사용자가 URL로 이동하면 사전 렌더링된 페이지가 즉시 표시됩니다.
이러한 API는 이전에 실험용으로 출시되었으며 이제@OptIn주석 없이 사용할 수 있습니다. (Ie14f5)- 이제
startUpWebViewAPI를 호출할 때 동기식으로 로드할 프로필 집합을 지정할 수 있습니다. 이는WebViewStartUpConfig.Builder의 새 메서드에 프로필 이름을 전달하여 구성됩니다 (I9a6e6). WebSettings객체에서 BackForwardCache를 사용 설정/중지하는 새 API를WebSettingsCompat에 추가 이 API는 이전에 실험용으로 출시되었으며 이제@OptIn주석 없이 사용할 수 있습니다. (Ie413b)- 사용자 에이전트 폼 팩터 재정의 지원 추가:
UserAgentMetadata클래스에 사용자 에이전트 메타데이터 폼 팩터를 가져오고 설정하는 새로운 메서드가 있습니다.UserAgentMetadata.Builder에는Sec-CH-UA-Form-Factors사용자 에이전트 클라이언트 힌트를 재정의하는 새로운setFormFactors()메서드가 있습니다. 현재 재정의 값은 새getFormFactors()메서드를 통해 가져올 수 있습니다. (I6d08c, b/430554841)
API 변경사항
WebView의 UI 스레드 초기화를 구성하기 위해ProcessGlobalConfig에 API 추가 (I5e85a, b/433273850, b/397372092)WebViewStartupConfig.Builder#setProfilesToLoadDuringStartupAPI의 새 기능 이름 추가 (I36451)- 기본 minSdk를 API 21에서 API 23으로 이동 (Ibdfca, b/380448311, b/435705964, b/435705223)
- 동일한 헤더 이름에 대해
setOriginMatchedHeader를 여러 번 호출하여 헤더 값을 덮어쓸 수 있도록 원본 일치 헤더 API 업데이트 또한 헤더 이름이 이미 사용 중인지 확인하는 새로운hasOriginMatchedHeader메서드를 추가합니다.
이 변경사항은 현재 각 헤더 값에 대해 단일 값과 원본 매핑만 지원하고 향후 다른 원본에 매핑된 여러 값을 지원하도록 변경될 가능성이 있으므로 API를 실험용으로 표시합니다. (I03365, b/419469873, b/429269470) Profile#prefetchUrlAsync()의 UI 스레드 요구사항이 삭제되었습니다. 이제 모든 스레드에서 호출할 수 있습니다. (I83d57)OutcomeReceiverCompat인터페이스가 삭제되고 공식androidx.core.os.OutcomeReceiverCompat버전으로 대체되었습니다. 이제 라이브러리에compileSdk35 이상이 필요합니다. (Ie1ea5)WebSettingsCompat에서[is/set]IncludeCookiesOnShouldInterceptRequestEnabled의 이름을[are/set]CookiesIncludedInShouldInterceptRequest로 바꿉니다. (Ife9e9, b/428924452)- 이전에 누락되었던
Profile.ExperimentalUrlPrefetch에 실험용 API 주석을 추가합니다. (Ic54eb, b/417458061)
버전 1.15.0-alpha01
2025년 7월 2일
androidx.webkit:webkit:1.15.0-alpha01이 출시되었습니다. 버전 1.15.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 특정 출처에 대한 요청에 HTTP 헤더 이름-값 쌍을 설정하는 새로운 API
Profile.setOriginMatchedHeader메서드를 사용하면 애플리케이션이 지정된 프로필을 사용하는 WebView 및 서비스 워커에서 전송될 때 제공된 허용 목록과 일치하는 원본에 대한 모든 HTTP/HTTPS 요청에서 헤더 이름과 값이 설정되어야 함을 지정할 수 있습니다. API는 각 헤더 이름에 하나의 매핑만 허용하며 헤더 이름이 이미 설정된 경우 예외를 발생시킵니다.
Profile.clearOriginMatchedHeader을 사용하여 기존 매핑을 삭제하고Profile.clearAllOriginMatchedHeaders을 사용하여 모든 매핑을 삭제합니다. (Ida7f1, b/419469873) - WebView 및 서비스 워커의
shouldInterceptRequest콜백의 일부로 쿠키에 액세스하고 쿠키를 설정하는 새로운 API
현재shouldInterceptRequest의 일부로CookieManagerAPI에 액세스하는 앱 개발자는 이제setIncludeCookiesOnShouldInterceptRequest를 호출하여 직접 쿠키 헤더를 사용 설정할 수 있습니다. 그러면 WebView가 WebResourceRequest.getRequestHeaders() 맵에Cookie헤더를 추가하며, 이는 요청에 적용되는 정확한 쿠키가 됩니다. 이렇게 하면 파티셔닝된 쿠키도 올바르게 처리됩니다.
앱은 새로 추가된WebResourceResponseCompat.setCookiesAPI를 통해Set-Cookie헤더 값을 제공할 수 있습니다. 여기에 추가된Set-Cookie값은 응답 처리의 일부로 WebView에 의해 처리됩니다. (Idbfd1, b/414769380) Profile의 렌더러 프로세스를 워밍업하는 새로운 실험용 API
이 API는 복잡한 WebView 수명 주기가 있는 애플리케이션이 모든 WebView 인스턴스가 소멸된 경우에도 렌더러 프로세스가 실행되도록 하는 데 사용할 수 있습니다. (Ia8fc8)
API 변경사항
- 실험용 탐색 인터페이스에 새 메서드를 추가하여 탐색 URL을 제공합니다. (I1c6c0)
- 이제 백그라운드 스레드에서 프리패치 API를 호출할 수 있음을 명확히 하기 위해 프로필 프리패치 기능 이름을 업데이트합니다. (I7c83a)
버전 1.14
버전 1.14.0
2025년 6월 4일
androidx.webkit:webkit:1.14.0이 출시되었습니다. 버전 1.14.0에는 이러한 커밋이 포함되어 있습니다.
1.13.0 이후 중요 변경사항
org.chromium.intent.action.PAY인텐트를 통해 Android 네이티브 결제 앱을 호출하는PaymentRequestAPI 소개PaymentRequest는 기본적으로 사용 중지되어 있으며WebView호스트 앱은 WebSettingsCompat.setPaymentRequestEnabled(settings, true)를 호출하여 사용 설정할 수 있습니다. 또한PaymentRequest에는AndroidManifest.xml에<queries>태그가 필요합니다. 자세한 내용은setPaymentRequestEnabled()문서를 참고하세요.WebView내에서 향상된 웹 탐색 추적 및 관리를 위한 실험용 탐색 API가 도입되었습니다. 이러한 API는 탐색 이벤트에 관한 자세한 정보를 제공합니다. 새로운 WebNaviagationClient 인터페이스 구현으로 WebViewCompat.setNavigationClient를 호출하여 페이지 탐색에 관한 자세한 정보를 가져와 시작하세요. 탐색 수명 주기에 관한 자세한 내용은 탐색 프레젠테이션의 수명을 참고하세요.
버전 1.14.0-rc01
2025년 5월 20일
androidx.webkit:webkit:1.14.0-rc01이 출시되었습니다. 버전 1.14.0-rc01에는 이 커밋이 포함되어 있습니다.
1.14.0-beta01에서 변경된 사항이 없습니다.
버전 1.14.0-beta01
2025년 5월 7일
androidx.webkit:webkit:1.14.0-beta01이 출시되었습니다. 버전 1.14.0-beta01에는 이 커밋이 포함되어 있습니다.
API 변경사항
startUpWebView()API에 컨텍스트를 매개변수로 추가 (Ic29cd, b/406701301)
버전 1.14.0-alpha01
2025년 4월 9일
androidx.webkit:webkit:1.14.0-alpha01이 출시되었습니다. 버전 1.14.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
org.chromium.intent.action.PAY인텐트를 통해 Android 네이티브 결제 앱을 호출하는PaymentRequestAPI 소개PaymentRequest는 기본적으로 사용 중지되어 있으며 WebView 호스트 앱은WebSettingsCompat.setPaymentRequestEnabled(settings, true)를 호출하여 사용 설정할 수 있습니다. 또한PaymentRequest에는AndroidManifest.xml에<queries>태그가 필요합니다. 자세한 내용은setPaymentRequestEnabled()문서를 참고하세요. (I3304e, b/404920055)- 실험적 탐색 콜백을 소개합니다. 이번 출시에서는
WebView내에서 향상된 웹 탐색 추적 및 관리를 위한 실험용 API가 도입되었습니다. 이러한 API는 탐색 이벤트에 관한 자세한 정보를 제공합니다. 주요 기능:WebNavigationClient인터페이스: 탐색 이벤트 콜백이 있는 새로운 인터페이스WebNavigationClient를 도입합니다.onNavigationStarted(Navigation navigation): 탐색이 시작될 때 알립니다.onNavigationRedirected(Navigation navigation): 탐색이 리디렉션될 때 알립니다.onNavigationCompleted(Navigation navigation): 탐색이 완료되면 알림을 보냅니다.Navigation인터페이스: URL, 페이지 시작 상태, 동일 문서 상태, 새로고침 상태, 기록 상태, 뒤로/앞으로 상태, 커밋 상태, 오류 페이지 상태, 상태 코드, 세션 복원 상태 등 탐색에 관한 자세한 정보를 제공합니다.Navigation객체는 각 탐색의 고유 식별자 역할을 하므로 개발자가 관련 탐색 이벤트를 상호 연관시킬 수 있습니다.Page클래스: 페이지 관련 데이터의 키 역할을 하는Page클래스를 소개합니다. (I351a6)
- 캐싱 제공자 객체의 동작을 전환하는 새로운 실험용 API 도입 (I14636)
API 변경사항
WebViewFeature에서PROFILE_URL_PREFETCH기능 값을 업데이트했습니다. (I606fd)WebView#saveState와 유사하지만 반환된 상태의 크기를 제한하고 앞으로 이동 기록 항목을 저장할지 여부를 결정할 수 있는WebViewCompat#saveState를 추가합니다. (Iea7d6)SpeculativeLoadingConfigAPI에maxPrerenders구성 추가 (I67245)
버전 1.13
버전 1.13.0
2025년 3월 12일
androidx.webkit:webkit:1.13.0이 출시되었습니다. 버전 1.13.0에는 이러한 커밋이 포함되어 있습니다.
1.12.0 이후 중요 변경사항
- 개발자가 후보 URL을 추측하여 사전 렌더링할 수 있도록 URL 사전 렌더링을 위한 새로운 실험용 API를 도입하여 탐색 속도를 높입니다. (I0cfe7)
WebView에 의해 저장된 인터넷 사용 기록을 삭제하는 새로운 API 세트가 도입되었습니다.WebStorageCompat의 새 API는 네트워크 캐시와 쿠키, 설치된 서비스 워커를 포함한 모든 로컬 스토리지를 삭제하므로android.webkit.WebStorage의 기존 API보다 우선해야 합니다. 향후 새로운 스토리지 API가 도입되면 이러한 새로운 메서드가 업데이트되어 삭제된 스토리지에 포함됩니다. (Iad54f, b/382273208)setPartitionedCookiesEnabledAPI 추가 이를 통해 개발자는WebView에서 파티셔닝된 쿠키를 사용 설정 및 중지할 수 있습니다. (Ic506a, b/364904765)NetworkStatsManager/TrafficStats를 사용하여WebView의 네트워크 트래픽을 설명하기 위해 소켓 태그 지정 API를WebView에 추가합니다. 이 기능은WebViewM133부터 사용할 수 있습니다. (Ica441, b/374932688)- 실험용
WebView비동기 시작 API 추가 (I94b8a) - 프로필의 URL 미리 가져오기: 개발자가 URL 미리 가져오기를 트리거할 수 있도록
Profile에 새로운 API가 도입되었습니다. 미리 가져오기 지우기: 진행 중인 미리 가져오기를 지우는 API가 추가되었습니다.(I42c5c) WebView.startSafeBrowsing가 지원 중단되었습니다. (If5626)
버전 1.13.0-rc01
2025년 2월 26일
androidx.webkit:webkit:1.13.0-rc01이 출시되었습니다. 이 출시에는 1.13.0-beta01 출시와 비교해 변경사항이 없습니다.
버전 1.13.0-beta01
2025년 2월 12일
androidx.webkit:webkit:1.13.0-beta01이 출시되었습니다. 버전 1.13.0-beta01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 사전 렌더링 API에 Async 접미사 추가 새 이름을 반영하도록
NoVarySearch에서 모든 데이터를 헤더로 이름을 바꿉니다. (Ie91c9) - URL 사전 렌더링 API에 실행기 매개변수 추가 또한 API가 UI 스레드에서만 호출되도록 제한합니다. (I50520)
- 프로필 미리 가져오기 요청의 캐시 구성을 구성하는 API 추가 이 프로필과 연결된
WebViews에서 시작된 사전 렌더링 요청에도 적용됩니다. (Iebb6e)
버그 수정
mimeType매개변수만 사용하여 URL 매개변수에서 파생된 파일 이름의 확장자를 제안하도록URLUtilCompat.guessFileName의 동작을 변경합니다. (I53ecd, b/382864232)
버전 1.13.0-alpha03
2025년 1월 15일
androidx.webkit:webkit:1.13.0-alpha03이 출시되었습니다. 버전 1.13.0-alpha03에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 개발자가 후보 URL을 추측하여 사전 렌더링할 수 있도록 URL 사전 렌더링을 위한 새로운 실험용 API를 도입하여 탐색 속도를 높입니다. (I0cfe7)
WebView에 의해 저장된 인터넷 사용 기록을 삭제하는 새로운 API 세트가 도입되었습니다.WebStorageCompat의 새 API는 네트워크 캐시와 쿠키, 설치된 서비스 워커를 포함한 모든 로컬 스토리지를 삭제하므로android.webkit.WebStorage의 기존 API보다 우선해야 합니다. 향후 새로운 스토리지 API가 도입되면 이러한 새로운 메서드가 업데이트되어 삭제된 스토리지에 포함됩니다. (Iad54f, b/382273208)setPartitionedCookiesEnabledAPI 추가 이를 통해 개발자는WebView에서 파티셔닝된 쿠키를 사용 설정 및 중지할 수 있습니다. (Ic506a, b/364904765)
API 변경사항
- UI 스레드에서만 호출되도록 Prefetch API의 스레드 요구사항 변경 (I866b5)
WebAuthn메서드를 업데이트하여 UI 스레드에서 호출해야 함을 강조합니다. 이 요구사항은 이미 구현에 의해 적용되며 이 변경사항은 관련 주석만 추가합니다. (I6d6ba)
버전 1.13.0-alpha02
2024년 12월 11일
androidx.webkit:webkit:1.13.0-alpha02이 출시되었습니다. 버전 1.13.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
NetworkStatsManager/TrafficStats를 사용하여WebView의 네트워크 트래픽을 설명하기 위해 소켓 태그 지정 API를WebView에 추가합니다. 이 기능은WebViewM133부터 사용할 수 있습니다. (Ica441, b/374932688)
API 변경사항
PrefetchParameter을SpeculativeLoadingParamaters로 이름을 바꾸고, 새로운PrefetchNetworkException를 도입하고,PrefetchOperationCallback을OutcomeReceiverCompat로 대체하여 Prefetch API를 업데이트하고 javadoc을 업데이트합니다. (If5072)- WebView 비동기 시작 API에서 진단 정보를 가져옵니다.
- 앱이 UI 스레드를 차단하지 않는 초기화만 트리거하는 옵션 제공 (I9bf2b)
버그 수정
- 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 다음 컴파일러 인수를 사용하여 올바른 사용을 강제해야 합니다.
-Xjspecify-annotations=strict(Kotlin 컴파일러 버전 2.1.0부터 기본값임) (I0e4c5, b/326456246)
버전 1.13.0-alpha01
2024년 11월 13일
androidx.webkit:webkit:1.13.0-alpha01이 출시되었습니다. 버전 1.13.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 실험용
WebView비동기 시작 API 추가 (I94b8a) - 프로필의 URL 미리 가져오기: 개발자가 URL 미리 가져오기를 트리거할 수 있도록 프로필에 새로운 API가 도입되었습니다. 미리 가져오기 삭제: 진행 중인 미리 가져오기를 삭제하는 API가 추가되었습니다. (I42c5c)
API 변경사항
WebView.startSafeBrowsing가 지원 중단되었습니다. (If5626)
버전 1.12
버전 1.12.1
2024년 10월 2일
androidx.webkit:webkit:1.12.1이 출시되었습니다. 버전 1.12.1에는 이 커밋이 포함되어 있습니다.
버그 수정
- 출시에서 1.12.0 API를 사용할 수 없도록 한 문제를 해결합니다.
버전 1.12.0
2024년 9월 18일
androidx.webkit:webkit:1.12.0이 출시되었습니다. 버전 1.12.0에는 이 커밋이 포함되어 있습니다.
1.11.0 이후 중요 변경사항
- 이
WebSettings의 BackForwardCache를 사용 설정/중지하는 새 API를WebSettingsCompat에 추가 이 API는 실험용이며 향후 변경될 수 있습니다. (aosp/3111705) - 이
WebSettings의 추측 로딩 동작을 제어하기 위해WebSettingsCompat에 새 API 추가 현재는 사전 렌더링만 사용할 수 있습니다. 이 API는 실험용이며 향후 변경될 수 있습니다. (I13962) WebView에서 웹 인증을 사용 설정하는 새로운 API를 추가했습니다. 개발자는WebSettingsCompat#setWebAuthenticationSupport를 사용하여 앱의WebView에서WebAuthn호출을 사용 설정/중지할 수 있습니다. (I8187f)
버전 1.12.0-rc01
2024년 9월 4일
androidx.webkit:webkit:1.12.0-rc01이 출시되었습니다. 이 출시에는 1.12.0-beta01 출시와 비교해 변경사항이 없습니다.
버전 1.12.0-beta01
2024년 8월 21일
androidx.webkit:webkit:1.12.0-beta01이 출시되었습니다. 버전 1.12.0-beta01에는 이 커밋이 포함되어 있습니다.
버그 수정
- AGP 7.3 이상 (예: R8 버전 3.3)을 사용하여 R8을 사용하는 경우 API 모델링을 통해 자동으로 발생하고 AGP 8.1 이상 (예: D8 버전 8.1)을 사용하는 모든 빌드에 대해 새 플랫폼 API에 대한 액세스의 수동 윤곽이 삭제되었습니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (Ia60e0, b/345472586)
버전 1.12.0-alpha02
2024년 6월 12일
androidx.webkit:webkit:1.12.0-alpha02이 출시되었습니다. 버전 1.12.0-alpha02에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
BackForwardCache를 사용 설정/중지하는 새 API를WebSettingsCompat에 추가 이 API는 실험용이며 향후 변경될 수 있습니다. (I64a38)- 이 WebSettings의 추측 로드 동작을 제어하는 새 API를
WebSettingsCompat에 추가 현재는 사전 렌더링만 사용할 수 있습니다. 이 API는 실험용이며 향후 변경될 수 있습니다. (I13962)
API 변경사항
- 일부 메서드는 이제 적절한 경우
@UiThread로 문서화됩니다. (I6c7e0), (I44541) - 스레드로부터 안전한 메서드는 이제
@AnyThread로 문서화됩니다. (I70189) minSdkVersion을 19에서 21로 늘립니다. (Id7a43)
버전 1.12.0-alpha01
2024년 4월 17일
androidx.webkit:webkit:1.12.0-alpha01이 출시되었습니다. 버전 1.12.0-alpha01에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
WebView. Developers에서 웹 인증을 사용 설정할 수 있는 새 API를 추가했습니다.WebSettingsCompat#setWebAuthenticationSupport를 사용하는 앱의 경우WebView에서WebAuthn호출을 사용 설정/중지할 수 있습니다. (I8187f)
버전 1.11
버전 1.11.0
2024년 5월 1일
androidx.webkit:webkit:1.11.0이 출시되었습니다. 버전 1.11.0에는 이러한 커밋이 포함되어 있습니다.
1.10.0 이후 중요 변경사항
- 앱이 Chrome에서 탭을 음소거하는 것과 유사한 새로운
setAudioMuted및isAudioMutedAPI를 통해WebView에서 오디오 재생을 제어하도록 허용 - RFC 6266에 정의된 대로
filename*인코딩된 값 속성을 사용하는Content-Disposition헤더의 파싱을 지원하는URLUtilCompat이 도입되었습니다. 호환성 API는 URL 및 MIME 유형에 기반한 추천 파일 이름이 필요하지 않은 경우Content-Disposition헤더를 파싱하는 메서드도 직접 노출합니다.
버전 1.11.0-rc01
2024년 4월 3일
androidx.webkit:webkit:1.11.0-rc01이 출시되었습니다. 이 출시에는 1.11.0-beta01 출시와 비교해 변경사항이 없습니다.
버전 1.11.0-beta01
2024년 3월 20일
androidx.webkit:webkit:1.11.0-beta01이 중요한 변경사항 없이 출시되었습니다. 버전 1.11.0-beta01에는 이 커밋이 포함되어 있습니다.
버전 1.11.0-alpha02
2024년 2월 21일
androidx.webkit:webkit:1.11.0-alpha02이 출시되었습니다. 버전 1.11.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
WebViews의 음소거 (및 음소거 해제)를 위한setAudioMuted및isAudioMuted메서드 추가 이 메서드를 사용하면WebView에서 오디오를 재생하지 못하도록 할 수 있습니다. (Ie7a33)
API 변경사항
URLUtilCompat는 서브클래스로 분류되지 않으므로 최종 클래스로 지정됩니다. (I49ec1)
버전 1.11.0-alpha01
2024년 2월 7일
androidx.webkit:webkit:1.11.0-alpha01이 출시되었습니다. 버전 1.11.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
URLUtil.guessFileName호환성 추가URLUtilCompat의 호환성 버전은 RFC 6266에 정의된 대로filename*인코딩된 값 속성을 사용하는Content-Disposition헤더의 파싱을 지원합니다. 호환성 API는 URL 및 MIME 유형에 기반한 추천 파일 이름이 필요하지 않은 경우Content-Disposition헤더를 파싱하는 메서드도 직접 노출합니다. (If6ae7, b/309927164)
버전 1.10
버전 1.10.0
2024년 1월 24일
androidx.webkit:webkit:1.10.0이 출시되었습니다. 버전 1.10.0에 포함된 커밋을 확인하세요.
1.9.0 이후 중요 변경사항
- 실험용 Android WebView Media Integrity API 동작을 제어하기 위해 WebSettingsCompat에 새로운 API를 추가했습니다. API를 완전히 사용 중지하거나 API 응답에서 애플리케이션 ID 공유를 제한할 수 있습니다. 이 설정은 모든 출처에 대해 또는 출처별로 전환할 수 있습니다.
버전 1.10.0-rc01
2024년 1월 10일
androidx.webkit:webkit:1.10.0-rc01이 출시되었습니다. 이 출시에는 1.10.0-beta01 출시와 비교해 변경사항이 없습니다.
버전 1.10.0-beta01
2023년 12월 13일
androidx.webkit:webkit:1.10.0-beta01이 출시되었습니다. 버전 1.10.0-beta01에 포함된 커밋을 확인하세요.
1.10.0-alpha01이후 기능 변경사항이 없습니다.
버전 1.10.0-alpha01
2023년 11월 29일
androidx.webkit:webkit:1.10.0-alpha01이 출시되었습니다. 버전 1.10.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- API를 완전히 사용 중지하거나 API 응답에서 애플리케이션 ID 공유를 제한하여 실험용 Android WebView Media Integrity API 동작을 제어하는 새로운 API를
WebSettingsCompat에 추가했습니다. 이 설정은 모든 출처에 대해 또는 출처별로 전환할 수 있습니다.
버전 1.9
버전 1.9.0
2023년 11월 29일
androidx.webkit:webkit:1.9.0이 출시되었습니다. 버전 1.9.0에 포함된 커밋을 확인하세요.
1.8.0 이후 중요 변경사항
- WebView용 새 멀티 프로필 API가 추가되었습니다.
- 프로필 인터페이스에는 이름, GeoLocationPermissions, ServiceWorkerController, CookieManager, WebStorage와 같은 이 프로필과 연결된 데이터를 가져오는 데 사용할 수 있는 다양한 API가 있습니다. 이러한 객체는 프로필에 따라 다르며 애플리케이션의 서로 다른 프로필 간에 정보가 공유되지 않습니다.
WebView인스턴스에서 사용하는 프로필은 WebViewCompat#setProfile 메서드를 사용하여 변경하고 WebViewCompat#getProfile을 사용하여 검색할 수 있습니다.- 새로 도입된 ProfileStore를 사용하면 기본 프로필을 비롯해 애플리케이션에서 사용 가능한 프로필을 관리할 수 있습니다.
- CookieManager#getInstance와 같은 기존 WebView API는 계속 기본 프로필에서 작동합니다.
- 페이지 로드 전에 JavaScript를 삽입하고 실행하는 API 추가
- WebViewCompat#addDocumentStartJavascript API를 사용하면 앱이 페이지 스크립트가 실행되기 전에 실행되도록 보장된
WebView에 스크립트를 삽입할 수 있습니다. 이 API를 사용하면 앱이 스크립트를 사용 설정할 대상 출처 목록을 지정하여 의도한 페이지에서만 실행되도록 할 수 있습니다. WebView#evaluateJavascript와 달리 이 API를 사용하면 로드될 때 삽입된 iframe에서 스크립트를 실행할 수 있습니다. 앱은 이 새로운 API를 WebViewCompat#addWebMessageListener와 함께 사용하여 페이지의 JavaScript와 안정적인 양방향 통신을 설정할 수 있습니다.
- WebViewCompat#addDocumentStartJavascript API를 사용하면 앱이 페이지 스크립트가 실행되기 전에 실행되도록 보장된
- 개인 정보 보호 샌드박스 Attribution Reporting 이벤트가 등록되는 방식을 수정하는 API가 추가되었습니다.
- 개발자가 기여 분석 소스와 트리거가 앱 자체에서 제공되는지 아니면 WebView의 웹 콘텐츠에서 제공되는지 구성할 수 있는 새로운 API WebSettingsCompat#setAttributionRegistrationBehavior가 도입되었습니다. 이 메서드는 WebView에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오기 위해 새로운 API
WebSettingsCompat#getAttributionRegistrationBehavior가 추가되었습니다. - 자세한 내용은 개인 정보 보호 샌드박스 문서를 참고하세요.
- 개발자가 기여 분석 소스와 트리거가 앱 자체에서 제공되는지 아니면 WebView의 웹 콘텐츠에서 제공되는지 구성할 수 있는 새로운 API WebSettingsCompat#setAttributionRegistrationBehavior가 도입되었습니다. 이 메서드는 WebView에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오기 위해 새로운 API
- 클라이언트 힌트의 사용자 에이전트 메타데이터를 재정의하는 API가 추가되었습니다.
- 사용자 에이전트 클라이언트 힌트를 채우는 데 사용되는 WebView의 사용자 에이전트 메타데이터를 재정의하는 새로운 API WebSettingsCompat#setUserAgentMetadata가 도입되었으며, 현재 사용자 에이전트 재정의를 가져오는 또 다른 새로운 API WebSettingsCompat#getUserAgentMetadata도 추가되었습니다. 앱이 WebSettings.setUserAgentString을 사용하여 기본 사용자 에이전트 문자열을 변경할 때마다 새로운 API를 사용하여 올바른 재정의 값을 설정하면 모든 상황에서 올바른 값이 사용됩니다.
버전 1.9.0-rc01
2023년 11월 15일
androidx.webkit:webkit:1.9.0-rc01이 출시되었습니다. 이 출시에는 1.9.0-beta01 출시와 비교해 변경사항이 없습니다.
버전 1.9.0-beta01
2023년 11월 1일
androidx.webkit:webkit:1.9.0-beta01이 출시되었습니다. 버전 1.9.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 사용자 에이전트 메타데이터 API의 null 허용 문제 해결 빌더 패턴을 사용하도록
BrandVersion클래스를 업데이트하고UserAgentMetadata클래스의 getter 및 setter null 허용 여부를 일관되게 만듭니다. (Ibf195) @UiThread로ProfileStore,WebViewCompat#setProfile,WebViewCompat.getProfile에 주석을 답니다. (I499b2)
버전 1.9.0-alpha01
2023년 10월 18일
androidx.webkit:webkit:1.9.0-alpha01이 출시되었습니다. 버전 1.9.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
WebViews간에 별도의 탐색 세션을 사용할 수 있는 멀티 프로필 API가 추가되었습니다. 각 프로필에는 자체 데이터 (예: 쿠키)가 있습니다. 프로필을 만들고WebView인스턴스에 할당한 후 나중에 데이터 액세스를 위해 검색할 수 있습니다. API(getOrCreateProfile,getProfile,getAllProfileNames,deleteProfile)를 사용하여 생성 또는 삭제로 프로필을 관리하는 데 도움이 되는 싱글톤 클래스ProfileStore가 있습니다.Profile클래스에는 이름,GeoLocationPermissions,ServiceWorkerController,CookieManager,WebStorage등 이 프로필과 연결된 데이터를 가져오는 데 사용할 수 있는 다양한 API가 있습니다. 각WebView는 기본적으로 기본 프로필로 실행되지만WebViewCompat#setProfile를 사용하여 이를 변경할 수 있습니다. 이와 관련하여WebViewCompat#getProfile를 사용하여WebView의 프로필을 가져올 수 있습니다. (I32d22)- Attribution Reporting 이벤트가 등록되는 방식을 수정하는 API 추가 개발자가 소스와 트리거가 앱 자체에서 오는 것으로 등록되는지 아니면
WebView의 웹 콘텐츠에서 오는 것으로 등록되는지 구성할 수 있는 새로운 APIWebSettingsCompat#setAttributionRegistrationBehavior가 도입되었습니다. 이 메서드는WebView에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오기 위해 새로운 APIWebSettingsCompat#getAttributionRegistrationBehavior가 추가되었습니다. 자세한 내용은 개인 정보 보호 샌드박스 문서를 참고하세요. (I661f2) - 사용자 에이전트 메타데이터를 재정의하는 API 추가 사용자 에이전트 클라이언트 힌트를 채우는 데 사용되는 WebView의 사용자 에이전트 메타데이터를 재정의하는 새로운 API
WebSettingsCompat#setUserAgentMetadata가 도입되었으며 현재 사용자 에이전트 재정의를 가져오는 또 다른 새로운 APIWebSettingsCompat#getUserAgentMetadata도 추가되었습니다. 앱은 사용자 에이전트 변경에 의존하는 대신 새 API를 사용하여 올바른 재정의 값을 설정하는 것이 좋습니다. (I74500) - 페이지 로드 중에 실행할 JavaScript를 삽입하는 API 추가
WebViewCompat.addDocumentStartJavascriptAPI를 사용하면 앱이 페이지 스크립트가 실행되기 전에 실행되는 스크립트를 WebView에 삽입할 수 있습니다. 이 API를 사용하면 앱이 스크립트를 사용 설정할 대상 출처 목록을 지정하여 의도한 페이지에서만 실행되도록 할 수 있습니다.WebView.evaluateJavascript와 달리 이 API는 로드될 때 삽입된 iframe에서 스크립트 실행을 허용합니다. (Ide063)
버전 1.8
버전 1.8.0
2023년 9월 6일
androidx.webkit:webkit:1.8.0이 출시되었습니다. 버전 1.8.0에 포함된 커밋을 확인하세요.
1.7.0 이후 중요 변경사항
WebMessagePortCompat#postMessage,JavaScriptReplyProxy#postMessage,WebViewCompat#postWebMessage을 통해ArrayBuffer전달,WebMessagePortCompat및WebMessageListener을 통해 JavaScript에서ArrayBuffer수신,WebMessagePortCompat을 통해 JavaScript에서 전송 가능한ArrayBuffer수신 지원 추가 (aosp/2596550, b/251152171)
버전 1.8.0-rc01
2023년 8월 9일
androidx.webkit:webkit:1.8.0-rc01이 1.8.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.8.0-rc01에 포함된 커밋을 확인하세요.
버전 1.8.0-beta01
2023년 7월 26일
androidx.webkit:webkit:1.8.0-beta01이 1.8.0-alpha01 이후 변경사항 없이 출시되었습니다. 버전 1.8.0-beta01에 포함된 커밋을 확인하세요.
버전 1.8.0-alpha01
2023년 6월 7일
androidx.webkit:webkit:1.8.0-alpha01이 출시되었습니다. 버전 1.8.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 외부 기여 섹션을 참고하세요.
외부 기여
WebMessagePortCompat#postMessage,JsReplyProxy#postMessage,WebViewCompat#postWebMessage을 통해ArrayBuffer전달,WebMessagePortCompat및WebMessageListener을 통해 JavaScript에서ArrayBuffer수신,WebMessagePortCompat을 통해 JavaScript에서 전송 가능한ArrayBuffer수신 지원 추가 이 API는WebView버전 116부터 사용할 수 있습니다. (Ie7567, b/251152171)
버전 1.7
버전 1.7.0
2023년 5월 24일
androidx.webkit:webkit:1.7.0이 출시되었습니다. 버전 1.7.0에 포함된 커밋을 확인하세요.
1.6.0 이후 중요 변경사항
WebView에 이미지 드래그 지원을 추가했습니다. 클래스 문서에 설명된 대로 앱 매니페스트에 새DropDataContentProvider를 추가하여 사용자가WebView외부로 이미지를 드래그하도록 할 수 있습니다.WebView이 현재 프로세스에 사용할 기본 디렉터리를 설정하는 데 사용할 수 있는ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)API가 추가되었습니다.ProcessGlobalConfig의 모든 메서드와 마찬가지로 이 메서드는WebView의 첫 번째 인스턴스가 인스턴스화되기 전에 호출되어야 합니다. 이 메서드는 Android 프레임워크에WebView설정을 조정하는 기능을 제공하기 위해 추가되었습니다. 범용 애플리케이션의 경우 이 메서드를 사용하지 않는 것이 좋습니다.
버전 1.7.0-rc01
2023년 5월 10일
androidx.webkit:webkit:1.7.0-rc01이 1.7.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.7.0-rc01에 포함된 커밋을 확인하세요.
버전 1.7.0-beta01
2023년 4월 5일
androidx.webkit:webkit:1.7.0-beta01이 출시되었습니다. 버전 1.7.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 기능 플래그 및 메서드 이름을 약간 변경하고
setDirectoryBasePaths()이 문자열 대신 파일을 허용하도록 함 (Ib0d0a)
버전 1.7.0-alpha03
2023년 3월 8일
androidx.webkit:webkit:1.7.0-alpha03이 출시되었습니다. 버전 1.7.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
WebView이 현재 프로세스에 사용할 기본 디렉터리를 설정하는 데 사용할 수 있는ProcessGlobalConfig#setDirectoryBasePath(String, String)API 추가 (Ibd1a1, b/250553687)
버그 수정
DexGuard사용 시 빌드 오류를 일으키는 잘못된ProGuard규칙 수정 (Ia65c2, b/270034835)
버전 1.7.0-alpha02
2023년 2월 8일
androidx.webkit:webkit:1.7.0-alpha02가 출시되었습니다. 버전 1.7.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
DropDataContentProvider관련 문서 버그입니다.
버전 1.7.0-alpha01
2023년 1월 25일
androidx.webkit:webkit:1.7.0-alpha01이 출시되었습니다. 버전 1.7.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
WebView에 이미지 드래그 지원을 추가하고 있습니다. 앱 매니페스트에 새DropDataContentProvider를 추가하여 사용자가WebView외부로 이미지를 드래그하도록 할 수 있습니다. (05a1a6)
버전 1.6
버전 1.6.1
2023년 3월 22일
androidx.webkit:webkit:1.6.1이 출시되었습니다. 버전 1.6.1에 포함된 커밋을 확인하세요.
버그 수정
- ProGuard 파싱 오류 수정 (Ia65c2)
버전 1.6.0
2023년 1월 25일
androidx.webkit:webkit:1.6.0이 출시되었습니다. 버전 1.6.0에 포함된 커밋을 확인하세요.
1.5.0 이후 중요 변경사항
- 앱이 WebView를 로드하기 전에 설정되어야 하는 구성 설정(예: WebView 데이터 디렉터리 접미사)을 제공할 수 있는 새로운 ProcessGlobalConfig API가 추가되었습니다. 구성은 다른 스레드가
WebView를 프로세스에 로드하는 메서드를 호출하기 전에 발생할 수 있도록 애플리케이션 시작 중에 최대한 빨리 설정하고 적용해야 합니다. - 새
getCookieInfo메서드를 사용하여 android.webkit.CookieManager를 확장하는 새 CookieManagerCompat API를 추가했습니다. 이 메서드는 특정 URL에 설정된 모든 쿠키 속성을 가져옵니다. 이는 쿠키의 이름 속성과 값 속성만 반환하는CookieManager의 기존 getCookie와 다릅니다. WebSettingsCompat에는 관리자가EnterpriseAuthenticationAppLinkPolicy의 효과를WebView에 설정한 경우 이 효과를 사용 설정하거나 사용 중지하는 메서드와 현재 설정을 가져오는 메서드가 새로 추가되었습니다. 이 기능을 사용하면 WebView가 인증 URL을 여는 대신 Authentication 앱을 열 수 있습니다. 이 기능은 기업 정책에서 관리하지 않는 기기에는 영향을 미치지 않습니다.- 애플리케이션이
X-Requested-With헤더의 앱 패키지 이름을 허용 목록에 있는 출처로 명시적으로 전송할 수 있도록 하는 새 API를WebSettingsCompat에 추가합니다. 헤더는 일반적으로WebView의 모든 요청에서 전송되었습니다.
버전 1.6.0-rc01
2023년 1월 11일
androidx.webkit:webkit:1.6.0-rc01이 출시되었습니다. 버전 1.6.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- SDK < L에서 실행할 때
WebViewFeature.isStartupFeatureSupported(Context, String)에서 발생하는NullPointerException문제를 수정했습니다. (Ic7292)
버전 1.6.0-beta01
2022년 12월 7일
androidx.webkit:webkit:1.6.0-beta01이 출시되었습니다. 버전 1.6.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
ProcessGlobalConfig가 일반 생성자 및 정적 apply 메서드를 사용하도록 변경되었습니다. apply 메서드는 최대한 빨리 프로세스당 한 번만 호출해야 하며 두 번 이상 호출하면IllegalStateException이 발생합니다.ProcessGlobalConfig객체에는 더 이상 setter를 호출할 수 있는 횟수와 관련된 제한사항이 없습니다. (I456c3)
버전 1.6.0-alpha03
2022년 11월 9일
androidx.webkit:webkit:1.6.0-alpha03이 출시되었습니다. 버전 1.6.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 사용자가
WebView를 로드하기 전에 프로세스 전역 구성을 설정할 수 있도록ProcessGlobalConfig클래스를 추가합니다.WebView에는WebView가 로드된 후에는 변경할 수 없는 프로세스 전역 구성 매개변수(예:WebView데이터 디렉터리)가 있습니다. 이 클래스를 통해 앱에서 이러한 매개변수를 설정할 수 있습니다. 구성은 다른 스레드가WebView를 프로세스에 로드하는 메서드를 호출하기 전에 발생할 수 있도록 최대한 빨리 설정하고 애플리케이션 시작 중에 적용해야 합니다. (I7c0e0, b/250553687) - X-Requested-With 헤더에서 허용 목록에 있는 출처로 앱 패키지 이름을 명시적으로 보낼 수 있도록 새 API를 추가합니다. 헤더는 일반적으로
WebView의 모든 요청에서 전송되었습니다. (I0adfe, b/226552535)
API 변경사항
WebSettingsCompat#setAlgorithmicDarkeningAllowedAPI는WebView버전 105 이상의 모든 Android 버전에서 지원됩니다. 이전 버전의WebView는 Android Q 이상에서만 이 API를 지원했습니다. 따라서 이 API는 더 이상@RequiresApi(Build.VERSION_CODES.Q)로 표시되지 않습니다. (I3ac1d)
버전 1.6.0-alpha02
2022년 10월 24일
androidx.webkit:webkit:1.6.0-alpha02가 출시되었습니다. 버전 1.6.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- 특정 URL에 설정된 모든 쿠키의 모든 속성을 검색하는
getCookieInfoAPI와 함께 새CookieManagerCompat클래스가 추가됩니다. 이는 쿠키의 이름과 값 속성만 반환하는CookieManager의 기존getCookieAPI와 다릅니다. (I07365, b/242161756)
버전 1.6.0-alpha01
2022년 8월 24일
androidx.webkit:webkit:1.6.0-alpha01이 출시되었습니다. 버전 1.6.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
WebView에서 관리자가 설정한 경우EnterpriseAuthenticationAppLinkPolicy의 효과를 사용 설정/중지하기 위해WebSettingsCompat에 API를 추가했습니다. 이 기능을 사용하면WebView가 인증 URL을 여는 대신 Authentication 앱을 열 수 있습니다. 이 기능은 기업 정책에서 관리하지 않는 기기에는 영향을 미치지 않습니다.
버전 1.5.0
버전 1.5.0
2022년 8월 24일
androidx.webkit:webkit:1.5.0이 출시되었습니다. 버전 1.5.0에 포함된 커밋을 확인하세요.
1.4.0 이후 중요 변경사항
WebSettingsCompat의 새로운setAlgorithmicDarkeningAllowedAPI가 이전setForceDark및setForceDarkStrategyAPI를 대체합니다. SDK 33 이상(T)을 타겟팅하는 앱은 새 API를 사용해야 합니다. 기존 API가 더 이상 이러한 앱에 영향을 미치지 않기 때문입니다.- 구성된 프록시를 사용하기 위한 URL 허용 목록은 이제
setReverseBypassEnabled를true로 설정하여ProxyCofig.Builder를 통해 설정할 수 있습니다. 이 설정이 적용되면 다른 모든 URL이 구성된 프록시를 우회합니다.
버전 1.5.0-rc01
2022년 8월 10일
androidx.webkit:webkit:1.5.0-rc01이 1.5.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.5.0-rc01에 포함된 커밋을 확인하세요.
버전 1.5.0-beta01
2022년 6월 29일
androidx.webkit:webkit:1.5.0-beta01이 출시되었습니다. 버전 1.5.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 이제 Alogrithimic Darkening 관련 API에 API 수준 Q를 요구하는 주석이 달립니다. 이러한 기기에서 어두운 테마는 옵션이 아니므로 이 API는 Q보다 낮은 API 수준에는 아무런 영향을 미치지 않습니다. (I0905e)
버전 1.5.0-alpha01
2022년 5월 18일
androidx.webkit:webkit:1.5.0-alpha01이 출시되었습니다. 버전 1.5.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
WebViewCompat에 새getVariationsHeader()메서드를 추가하여WebView에서 전송된 X-Client-Data 헤더 값을 가져옵니다. 반환된 값은 base64로 인코딩된 ClientVariations protobuf입니다.WebSettingsCompat에 API를 추가하여 targetSdk가 33 이상인 앱에 관해 알고리즘 방식의 어둡게 하기를 허용하거나 허용하지 않습니다. (I29597)
API 변경사항
ProxyCofig.Builder에 새 메서드를 추가하여 역방향 우회를 설정합니다. 역방향 우회를 true로 설정하면 우회 목록에 있는 URL만 프록시 설정을 사용하게 됩니다. (I9eaa2, b/168728599)
버그 수정
- 어두운 테마 문서의 오타를 수정했습니다. (I36ebf, b/194343633)
WebViewAssetLoader.Builder메서드가 의도치 않게 순서 종속적이던 버그를 수정했습니다. (If420d, b/182196765)
버전 1.4.0
버전 1.4.0
2020년 12월 16일
androidx.webkit:webkit:1.4.0이 출시되었습니다. 버전 1.4.0에 포함된 커밋을 확인하세요.
1.3.0 이후 주요 변경사항
setSafeBrowsingWhitelist()를 대체하기 위해 새setSafeBrowsingAllowlist()API를 추가했습니다. 이렇게 하면 앱에서 지원 중단된 API와 동일한 범위의 Android SDK 및 WebView 버전을 계속 지원하면서 포괄적이지 않은 용어를 피하도록 코드를 업데이트할 수 있습니다.- setProxyOverride에서 대체 규칙이 올바르게 적용되지 않는 문제를 일으키는 버그를 수정했습니다.
버전 1.4.0-rc02
2020년 12월 2일
androidx.webkit:webkit:1.4.0-rc02가 출시되었습니다. 버전 1.4.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- setProxyOverride를 사용할 때 대체 규칙이 올바르게 적용되지 않는 문제를 수정했습니다.
버전 1.4.0-rc01
2020년 11월 11일
androidx.webkit:webkit:1.4.0-rc01이 1.4.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.
버전 1.4.0-beta01
2020년 10월 14일
androidx.webkit:webkit:1.4.0-beta01이 1.4.0-alpha01 이후 변경사항 없이 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.
버전 1.4.0-alpha01
2020년 9월 16일
androidx.webkit:webkit:1.4.0-alpha01이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
setSafeBrowsingWhitelist()를 대체하기 위해 새WebViewCompat#setSafeBrowsingAllowlist()API를 추가했습니다. 이렇게 하면 앱에서 지원 중단된 API와 동일한 범위의 Android SDK 및 WebView 버전을 계속 지원하면서 포괄적이지 않은 용어를 피하도록 코드를 업데이트할 수 있습니다. (I8d65d)
버전 1.3.0
버전 1.3.0
2020년 8월 19일
androidx.webkit:webkit:1.3.0이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 주요 변경사항
- ForceDarkStrategy API는 WebView를 어둡게 하는 것에 관한 추가적인 제어 기능을 제공합니다(CSS/웹 콘텐츠 어둡게 하기 및 자동 어둡게 하기).
- WebMessageListener 및 관련 API는 웹 콘텐츠와 WebView 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.
isMultiProcessEnabledAPI로 WebView가 멀티 프로세스에서 실행 중인지 확인합니다. 이는 Android O부터 사용할 수 있으며 웹 콘텐츠가 애플리케이션 프로세스와 별도로 샌드박스 렌더기 프로세스에서 렌더링된다는 의미입니다. 이 샌드박스 렌더기는 동일한 애플리케이션의 다른 WebView와 공유될 수 있지만, 다른 애플리케이션 프로세스와는 공유되지 않습니다.
버전 1.3.0-rc02
2020년 8월 5일
androidx.webkit:webkit:1.3.0-rc02가 출시되었습니다. 버전 1.3.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- 앱이 Android 스튜디오 인스턴트 실행으로 시작된 경우 로컬 개발 중에 간혹
WebMessageListener가 다운되는 호환성 문제가 해결되었습니다.
버전 1.3.0-rc01
2020년 6월 24일
androidx.webkit:webkit:1.3.0-rc01이 1.3.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
버전 1.3.0-beta01
2020년 6월 10일
androidx.webkit:webkit:1.3.0-beta01이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
ForceDarkStrategyAPI로 WebView를 어둡게 하는 것을 제어합니다(CSS/웹 콘텐츠 어둡게 하기 및 자동 어둡게 하기).WebMessageListenerAPI는 웹 콘텐츠와 WebView 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.MultiProcessEnabledAPI로 WebView가 멀티 프로세스 모드에서 실행 중인지 확인합니다.
버전 1.3.0-alpha03
2020년 5월 27일
androidx.webkit:webkit:1.3.0-alpha03이 출시되었습니다. 버전 1.3.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
- 이제
addWebMessageListener메서드가 허용된 원래 규칙의Set<String>(이전에는List<String>)를 수신합니다.
버전 1.3.0-alpha02
2020년 4월 29일
androidx.webkit:webkit:1.3.0-alpha02가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- MultiProcessEnabled API를 사용하여 WebView가 멀티 프로세스 모드에서 실행 중인지 확인합니다.
API 변경사항
- 이제 모든 어두운 전략 상수에
DARK_STRATEGY접두사가 붙습니다.
버전 1.3.0-alpha01
2020년 4월 15일
androidx.webkit:webkit:1.3.0-alpha01이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
ForceDarkStrategyAPI로WebView를 어둡게 하는 것을 제어합니다(CSS/웹 콘텐츠 어둡게 하기 및 자동 어둡게 하기).WebMessageListenerAPI는 웹 콘텐츠와 WebView 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.
버전 1.2.0
버전 1.2.0
2020년 3월 4일
androidx.webkit:webkit:1.2.0이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 주요 변경사항
- WebView를 어두운 모드로 렌더링해야 하는지 여부를 제어하는 ForceDark API를 추가했습니다.
버전 1.2.0-rc01
2020년 2월 19일
androidx.webkit:webkit:1.2.0-rc01이 1.2.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버전 1.2.0-beta01
2020년 2월 5일
androidx.webkit:webkit:1.2.0-beta01이 1.2.0-alpha01 이후 변경사항 없이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
버전 1.2.0-alpha01
2019년 12월 18일
androidx.webkit:webkit:1.2.0-alpha01이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- ForceDark API를 사용하여 WebView를 어두운 모드에서 렌더링할지 제어할 수 있습니다.
버전 1.1.0
버전 1.1.0
2019년 11월 7일
androidx.webkit:webkit:1.1.0이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- Getter API로 setWebViewClient() 및 setWebChromeClient()를 보완합니다.
- ProxyController API로 앱의 WebView에 대한 네트워크 요청 프록시를 설정합니다.
- WebViewAssetLoader API를 사용하면 요청 가로채기를 통해 앱 데이터 디렉터리에서 APK 애셋, 리소스, 파일을 간편하게 로드할 수 있습니다. 이렇게 하면 CORS를 사용 중지하지 않고도 웹 및 로컬 리소스에 액세스할 수 있습니다.
- TracingController API를 사용하여 디버깅 목적으로 WebView 트레이싱 정보를 수집합니다.
- RenderProcess API로 WebView 렌더기 서비스를 관리하고 콘텐츠가 제대로 작동하지 않아 WebView 렌더기가 응답하지 않게 되는 시점을 감지합니다.
- null 허용 여부(
@NonNull,@Nullable) 및 스레드(@UiThread,@WorkerThread) 주석을 포함하도록 기존 API를 업데이트했습니다.
버전 1.1.0-rc01
2019년 10월 9일
androidx.webkit:webkit:1.1.0-rc01이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- null 클라이언트를 전달하는 경우
setWebViewRenderProcessClient()가 비정상 종료될 수 있는 문제를 해결했습니다.
버전 1.1.0-beta01
2019년 9월 5일
androidx.webkit:webkit:1.1.0-beta01이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
WebViewAssetLoader의 새로운InternalStoragePathHandler를 사용하여 앱의 데이터 디렉터리에서 파일을 로드합니다.
API 변경사항
- 이제
ProxyConfig#getProxyRules()는 스키마 필터 및 상응하는 프록시 URL을 포함하는 새 클래스인ProxyRule인스턴스의 수정 불가능한 목록을 반환합니다.
버그 수정
WebViewAssetLoader가 파일 경로에서 MIME 유형을 추측할 수 없는 경우 null이 아니라 'text/plain' MIME 유형으로 기본값이 설정됩니다.- 경로 이름에 특수 문자가 포함된 파일을 로드할 때 더 이상
WebViewAssetLoader에서NullPointerException이 발생하지 않습니다.
버전 1.1.0-alpha02
2019년 8월 7일
androidx.webkit:webkit:1.1.0-alpha02이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- 앱에서 맞춤 경로 처리 기능을 만들 수 있도록
WebViewAssetLoader가PathHandler인터페이스를 노출합니다.
API 변경사항
WebViewAssetLoader는 이제 최종 클래스이며 서브클래스로 분류되지 않습니다.- 이제
WebViewAssetLoader#PathHandler구현이 공개되며 이는 최종 구현입니다. - ProxyConfig 메서드 이름이 약간 변경되었습니다.
ProxyController: 서버에 직접 연결할 수 있도록 새로운 메서드addDirect()및addDirect(String)를 추가했으며 DIRECT 문자열을 삭제했습니다.- null 허용 여부(
@NonNull,@Nullable) 및 스레드(@UiThread,@WorkerThread) 주석을 포함하도록 기존 API를 업데이트했습니다.
버전 1.1.0-alpha01
2019년 5월 7일
androidx.webkit:webkit:1.1.0-alpha01이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.
새로운 기능
- Getter API로
setWebViewClient()및setWebChromeClient()를 보완합니다. - ProxyController API로 앱의 WebView에 대한 네트워크 요청 프록시를 설정합니다.
- AssetLoader API가 요청 가로채기를 통해 APK 애셋 및 리소스 로드를 단순화하며 CORS를 비활성화하지 않고도 웹 리소스에 액세스할 수 있습니다.
- TracingController API를 사용하여 디버깅 목적으로 WebView 트레이싱 정보를 수집합니다.
- RenderProcess API로 WebView 렌더기 서비스를 관리하고 콘텐츠가 제대로 작동하지 않아 WebView 렌더기가 응답하지 않게 되는 시점을 감지합니다.
버그 수정
- 기존 API 문서 형식이 약간 수정되었습니다.