Webkit

Android 5 이상에서 최신 WebView API와 함께 사용할 수 있습니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 11월 13일 1.9.0 - - 1.13.0-alpha01

종속 항목 선언

Webkit의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.13

버전 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 이후 중요 변경사항

  • WebSettingsCompat에 새 API를 추가하여 이 WebSettingsBackForwardCache를 사용 설정/사용 중지합니다. 이 API는 실험용이며 향후 변경될 수 있습니다. (aosp/3111705)
  • WebSettings의 추측 로드 동작을 제어하는 새 API를 WebSettingsCompat에 추가합니다. 현재 사전 렌더링만 사용할 수 있습니다. 이 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에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 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에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • WebSettingsCompat에 새 API를 추가하여 BackForwardCache를 사용 설정/사용 중지합니다. 이 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에서 탭을 음소거하는 것과 유사한 새 setAudioMutedisAudioMuted API를 통해 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 음소거 (및 음소거 해제)를 위한 setAudioMutedisAudioMuted 메서드를 추가합니다. 이 메서드를 사용하면 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 이후 중요 변경사항

버전 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를 추가했습니다.
    • Profile 인터페이스에는 이름, 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와 양방향 통신을 안정적으로 설정할 수 있습니다.
  • 개인 정보 보호 샌드박스 Attribution Reporting 이벤트가 등록되는 방식을 수정하는 API를 추가했습니다.
    • 개발자가 기여 분석 소스와 트리거가 앱 자체에서 발생한 것으로 등록되도록 할지 아니면 WebView의 웹 콘텐츠에서 발생한 것으로 등록되도록 할지 구성할 수 있는 새로운 API WebSettingsCompat#setAttributionRegistrationBehavior가 도입되었습니다. 이 메서드는 WebView에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오는 새 API WebSettingsCompat#getAttributionRegistrationBehavior를 추가했습니다.
    • 자세한 내용은 개인 정보 보호 샌드박스 문서를 참고하세요.
  • 클라이언트 힌트의 사용자 에이전트 메타데이터를 재정의하는 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 변경사항

  • user-agent metadata API의 null 허용 여부 문제를 해결했습니다. 빌더 패턴을 사용하도록 BrandVersion 클래스를 업데이트하고 UserAgentMetadata 클래스의 getter 및 setter의 null 허용 여부를 일관되게 만듭니다. (Ibf195)
  • ProfileStore, WebViewCompat#setProfile, WebViewCompat.getProfile@UiThread 주석을 추가합니다. (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의 앱 자체에서 발생한 것인지 아니면 웹 콘텐츠에서 발생한 것인지 구성할 수 있는 새로운 API WebSettingsCompat#setAttributionRegistrationBehavior가 도입되었습니다. 이 메서드는 WebView에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오는 새 API WebSettingsCompat#getAttributionRegistrationBehavior를 추가했습니다. 자세한 내용은 개인 정보 보호 샌드박스 문서를 참고하세요. (I661f2)
  • 사용자 에이전트 메타데이터를 재정의하는 API를 추가합니다. 사용자 에이전트 클라이언트 힌트를 채우는 데 사용되는 WebView의 사용자 에이전트 메타데이터를 재정의하는 새 API WebSettingsCompat#setUserAgentMetadata를 도입하고 현재 사용자 에이전트 재정의를 가져오는 또 다른 새 API WebSettingsCompat#getUserAgentMetadata를 추가했습니다. 앱은 user-agent 변경에 의존하는 대신 새 API를 사용하여 올바른 재정의 값을 설정하는 것이 좋습니다. (I74500)
  • 페이지 로드 중에 실행할 JavaScript를 삽입하는 API를 추가합니다. WebViewCompat.addDocumentStartJavascript API를 사용하면 앱이 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 이후 중요 변경사항

버전 1.8.0-rc01

2023년 8월 9일

androidx.webkit:webkit:1.8.0-rc011.8.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.8.0-rc01에 포함된 커밋을 확인하세요.

버전 1.8.0-beta01

2023년 7월 26일

androidx.webkit:webkit:1.8.0-beta011.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 전달, WebMessagePortCompatWebMessageListener를 통해 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-rc011.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()가 String 대신 File을 수락하도록 합니다. (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 헤더의 앱 패키지 이름을 허용 목록에 있는 출처로 명시적으로 전송할 수 있도록 하는 새 APIWebSettingsCompat에 추가합니다. 헤더는 일반적으로 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#setAlgorithmicDarkeningAllowed API는 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에 설정된 모든 쿠키의 모든 속성을 검색하는 getCookieInfo API와 함께 새 CookieManagerCompat 클래스가 추가됩니다. 이는 쿠키의 이름과 값 속성만 반환하는 CookieManager의 기존 getCookie API와 다릅니다. (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의 새로운 setAlgorithmicDarkeningAllowed API가 이전 setForceDarksetForceDarkStrategy API를 대체합니다. SDK 33 이상(T)을 타겟팅하는 앱은 새 API를 사용해야 합니다. 기존 API가 더 이상 이러한 앱에 영향을 미치지 않기 때문입니다.
  • 구성된 프록시를 사용하기 위한 URL 허용 목록은 이제 setReverseBypassEnabledtrue로 설정하여 ProxyCofig.Builder를 통해 설정할 수 있습니다. 이 설정이 적용되면 다른 모든 URL이 구성된 프록시를 우회합니다.

버전 1.5.0-rc01

2022년 8월 10일

androidx.webkit:webkit:1.5.0-rc011.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-rc011.4.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.

버전 1.4.0-beta01

2020년 10월 14일

androidx.webkit:webkit:1.4.0-beta011.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 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.
  • isMultiProcessEnabled API로 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-rc011.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에 포함된 커밋을 확인하세요.

새로운 기능

  • ForceDarkStrategy API로 WebView를 어둡게 하는 것을 제어합니다(CSS/웹 콘텐츠 어둡게 하기 및 자동 어둡게 하기).
  • WebMessageListener API는 웹 콘텐츠와 WebView 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.
  • MultiProcessEnabled API로 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에 포함된 커밋을 확인하세요.

새로운 기능

  • ForceDarkStrategy API로 WebView를 어둡게 하는 것을 제어합니다(CSS/웹 콘텐츠 어둡게 하기 및 자동 어둡게 하기).
  • WebMessageListener API는 웹 콘텐츠와 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-rc011.2.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.

버전 1.2.0-beta01

2020년 2월 5일

androidx.webkit:webkit:1.2.0-beta011.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이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • 앱에서 맞춤 경로 처리 기능을 만들 수 있도록 WebViewAssetLoaderPathHandler 인터페이스를 노출합니다.

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 문서 형식이 약간 수정되었습니다.