Webkit

Android 5 이상에서 최신 WebView API와 함께 사용할 수 있습니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 2월 8일 1.6.0 - - 1.7.0-alpha02

종속 항목 선언

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

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

Groovy

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

Kotlin

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

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

의견

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

새로운 문제 제출하기

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

버전 1.7

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