Webkit
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
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를 추가하여 이WebSettings
에 BackForwardCache를 사용 설정/사용 중지합니다. 이 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에서 탭을 음소거하는 것과 유사한 새
setAudioMuted
및isAudioMuted
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
음소거 (및 음소거 해제)를 위한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 이후 중요 변경사항
- API를 완전히 사용 중지하거나 API 응답에서 애플리케이션 ID 공유를 제한하여 실험용 Android WebView Media Integrity API 동작을 제어하는 WebSettingsCompat에 새로운 API를 추가했습니다. 이 설정은 모든 출처 또는 출처별로 전환할 수 있습니다.
버전 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와 양방향 통신을 안정적으로 설정할 수 있습니다.
- 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 변경사항
- 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
의 앱 자체에서 발생한 것인지 아니면 웹 콘텐츠에서 발생한 것인지 구성할 수 있는 새로운 APIWebSettingsCompat#setAttributionRegistrationBehavior
가 도입되었습니다. 이 메서드는WebView
에서 Attribution Reporting을 사용 중지하는 데도 사용할 수 있습니다. 또한 현재 동작을 가져오는 새 APIWebSettingsCompat#getAttributionRegistrationBehavior
를 추가했습니다. 자세한 내용은 개인 정보 보호 샌드박스 문서를 참고하세요. (I661f2) - 사용자 에이전트 메타데이터를 재정의하는 API를 추가합니다. 사용자 에이전트 클라이언트 힌트를 채우는 데 사용되는 WebView의 사용자 에이전트 메타데이터를 재정의하는 새 API
WebSettingsCompat#setUserAgentMetadata
를 도입하고 현재 사용자 에이전트 재정의를 가져오는 또 다른 새 APIWebSettingsCompat#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 이후 중요 변경사항
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()
가 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
헤더의 앱 패키지 이름을 허용 목록에 있는 출처로 명시적으로 전송할 수 있도록 하는 새 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#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가 이전setForceDark
및setForceDarkStrategy
API를 대체합니다. 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 삽입 앱 간의 통신을 설정하는 간단하고 안전한 메커니즘을 제공합니다.
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-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에 포함된 커밋을 확인하세요.
새로운 기능
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-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 문서 형식이 약간 수정되었습니다.