Webkit

Android 5 이상에서 최신 WebView API로 작업합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2020년 12월 16일 1.4.0 - - -

종속 항목 선언

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

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

Groovy

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

Kotlin

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

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

의견

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

새 문제 만들기

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

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