WebKit
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
8 de febrero de 2023 | 1.6.0 | - | - | 1.7.0-alpha02 |
Cómo declarar dependencias
Para agregar una dependencia en WebKit, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.webkit:webkit:1.6.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.6.0") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.7
Versión 1.7.0-alpha02
8 de febrero de 2023
Lanzamiento de androidx.webkit:webkit:1.7.0-alpha02
. La versión 1.7.0-alpha02 contiene estas confirmaciones.
Correcciones de errores
- Errores de documentación de
DropDataContentProvider
.
Versión 1.7.0-alpha01
25 de enero de 2023
Se lanzó androidx.webkit:webkit:1.7.0-alpha01
. La versión 1.7.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Agregamos compatibilidad con la función Image drag en
WebView
. Para permitir que tus usuarios arrastren imágenes fuera deWebView
, agrega el nuevo elementoDropDataContentProvider
al manifiesto de tu app (05a1a6).
Versión 1.6
Versión 1.6.0
25 de enero de 2023
Se lanzó androidx.webkit:webkit:1.6.0
. La versión 1.6.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.5.0
- Se agregó una nueva API de ProcessGlobalConfig para permitir que las apps proporcionen ajustes de configuración que se deben establecer antes de cargar WebView, como el sufijo de directorio de datos de WebView. La configuración debe establecerse y aplicarse lo antes posible durante el inicio de la aplicación para garantizar que ocurra antes de que otro subproceso pueda llamar a un método que cargue
WebView
en el proceso. - Se agregó una nueva API de CookieManagerCompat para expandir android.webkit.CookieManager con un nuevo método de
getCookieInfo
, que recupera los atributos para todas las cookies establecidas en una URL específica. Esto difiere de la API de getCookie existente enCookieManager
, que solo muestra los atributos de nombre y valor de las cookies. WebSettingsCompat
tiene métodos nuevos para habilitar/inhabilitar el efecto deEnterpriseAuthenticationAppLinkPolicy
si lo configura el administrador enWebView
y para obtener la configuración actual. Esta función permite que WebView abra una app de autenticación en lugar de abrir la URL de autenticación. Esta función no tiene efecto en dispositivos que no son administrados por una política empresarial.- Se agregó una nueva API a
WebSettingsCompat
para permitir que las aplicaciones envíen de forma explícita el nombre del paquete de la app en el encabezadoX-Requested-With
a los orígenes permitidos. Tradicionalmente, el encabezado se envía en cada solicitud deWebView
.
Versión 1.6.0-rc01
11 de enero de 2023
Se lanzó androidx.webkit:webkit:1.6.0-rc01
. La versión 1.6.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió
NullPointerException
enWebViewFeature.isStartupFeatureSupported(Context, String)
cuando se ejecutaba en el SDK < L (Ic7292).
Versión 1.6.0-beta01
7 de diciembre de 2022
Lanzamiento de androidx.webkit:webkit:1.6.0-beta01
. La versión 1.6.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se modificó
ProcessGlobalConfig
para usar un constructor normal y un método de aplicación estático. Se debe llamar al método de aplicación solo una vez por proceso, lo antes posible, y arrojaráIllegalStateException
si se lo llama más de una vez. Los objetosProcessGlobalConfig
ya no tienen restricciones sobre la cantidad de veces que se puede llamar a los métodos set (I456c3).
Versión 1.6.0-alpha03
9 de noviembre de 2022
Se lanzó androidx.webkit:webkit:1.6.0-alpha03
. La versión 1.6.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Se agregó la clase
ProcessGlobalConfig
que permite a los usuarios establecer la configuración global del proceso antes de cargarWebView
.WebView
tiene algunos parámetros de configuración globales de procesos que no se pueden cambiar una vez que se cargóWebView
(p. ej., el directorio de datosWebView
). Esta clase permite que las apps establezcan estos parámetros. La configuración debe establecerse y aplicarse lo antes posible durante el inicio de la aplicación a fin de garantizar que ocurra antes de que otro subproceso pueda llamar a un método que cargueWebView
en el proceso (I7c0e0, b/250553687). - Se agregó una nueva API para permitir que las aplicaciones envíen explícitamente el nombre del paquete de la app en el encabezado X-Requested-With a los orígenes permitidos. Tradicionalmente, el encabezado se envía en cada solicitud de
WebView
(I0adfe, b/226552535).
Cambios en la API
- La API de
WebSettingsCompat#setAlgorithmicDarkeningAllowed
es compatible con todas las versiones de Android enWebView
versión 105 y posteriores. Las versiones anteriores deWebView
solo admitían la API en Android Q y versiones posteriores. Como resultado, esta API ya no está marcada como@RequiresApi(Build.VERSION_CODES.Q)
(I3ac1d).
Versión 1.6.0-alpha02
24 de octubre de 2022
Lanzamiento de androidx.webkit:webkit:1.6.0-alpha02
. La versión 1.6.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se agregó una nueva clase
CookieManagerCompat
junto con una API degetCookieInfo
, que recupera todos los atributos de todas las cookies configuradas en una URL específica. Esto difiere de la API degetCookie
existente enCookieManager
, que solo muestra los atributos de nombre y valor de las cookies (I07365, b/242161756).
Versión 1.6.0-alpha01
24 de agosto de 2022
Se lanzó androidx.webkit:webkit:1.6.0-alpha01
. La versión 1.6.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron APIs en
WebSettingsCompat
para habilitar/inhabilitar el efecto deEnterpriseAuthenticationAppLinkPolicy
si lo configura el administrador enWebView
. Esta función permite queWebView
abra una app de autenticación en lugar de abrir la URL de autenticación. Esta función no tiene efecto en dispositivos que no son administrados por una política empresarial.
Versión 1.5.0
Versión 1.5.0
24 de agosto de 2022
Se lanzó androidx.webkit:webkit:1.5.0
. La versión 1.5.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.4.0
- Una nueva API de
setAlgorithmicDarkeningAllowed
enWebSettingsCompat
reemplaza las APIs anteriores desetForceDark
ysetForceDarkStrategy
. Las apps orientadas al SDK 33 y versiones posteriores (T) deberían usar la API nueva porque la anterior ya no tendrá ningún efecto en esas apps. - Ahora se puede configurar una lista de URLs permitidas para usar el proxy configurado a través de
ProxyCofig.Builder
si se configurasetReverseBypassEnabled
entrue
. Cuando esto esté activo, todas las demás URLs omitirán el proxy configurado.
Versión 1.5.0-rc01
10 de agosto de 2022
Lanzamiento de androidx.webkit:webkit:1.5.0-rc01
sin cambios desde 1.5.0-beta01
. La versión 1.5.0-rc01 contiene estas confirmaciones.
Versión 1.5.0-beta01
29 de junio de 2022
Se lanzó androidx.webkit:webkit:1.5.0-beta01
. La versión 1.5.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Las APIs relacionadas con el oscurecimiento alogrítmico ahora están anotadas para requerir el nivel de API Q. La API no tendrá ningún efecto en los niveles de API menores que Q, ya que el tema oscuro no es una opción en estos dispositivos (I0905e).
Versión 1.5.0-alpha01
18 de mayo de 2022
Lanzamiento de androidx.webkit:webkit:1.5.0-alpha01
. La versión 1.5.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Agregamos un nuevo método
getVariationsHeader()
enWebViewCompat
para obtener el valor del encabezado de datos del cliente X enviado porWebView
. El valor mostrado será un protobuf de ClientVariations codificado en base64. - Se agregaron APIs en
WebSettingsCompat
para permitir o no el oscurecimiento algorítmico para la app con targetSdk >= 33 (I29597).
Cambios en la API
- Agregamos un nuevo método en
ProxyCofig.Builder
para configurar la omisión inversa. Si estableces la omisión inversa como verdadera, solo las URLs de la lista de omisión utilizarán la configuración de proxy (I9eaa2, b/168728599).
Correcciones de errores
- Se corrigió un error de ortografía en la documentación sobre temas oscuros (I36ebf, b/194343633).
- Se corrigió un error por el cual los métodos
WebViewAssetLoader.Builder
dependían involuntariamente del orden (If420d, b/182196765).
Versión 1.4.0
Versión 1.4.0
16 de diciembre de 2020
Lanzamiento de androidx.webkit:webkit:1.4.0
. La versión 1.4.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.3.0
- Se agregó una nueva API,
setSafeBrowsingAllowlist()
, para reemplazar asetSafeBrowsingWhitelist()
. Esto ayuda a que las apps actualicen su código con el objeto de evitar terminología no inclusiva sin dejar de admitir el mismo conjunto de SDK de Android y versiones de WebView como la API obsoleta. - Se corrigió un error en setProxyOverride que causaba que las reglas de resguardo no se aplicaran de forma correcta.
Versión 1.4.0-rc02
2 de diciembre de 2020
Lanzamiento de androidx.webkit:webkit:1.4.0-rc02
. La versión 1.4.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron las reglas de resguardo que no se aplicaban correctamente cuando se usaba setProxyOverride.
Versión 1.4.0-rc01
11 de noviembre de 2020
Lanzamiento de androidx.webkit:webkit:1.4.0-rc01
sin cambios desde 1.4.0-beta01
. La versión 1.4.0-rc01 contiene estas confirmaciones.
Versión 1.4.0-beta01
14 de octubre de 2020
Lanzamiento de androidx.webkit:webkit:1.4.0-beta01
sin cambios desde 1.4.0-alpha01
. La versión 1.4.0-beta01 contiene estas confirmaciones.
Versión 1.4.0-alpha01
16 de septiembre de 2020
Lanzamiento de androidx.webkit:webkit:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó una nueva API,
WebViewCompat#setSafeBrowsingAllowlist()
, para reemplazar lasetSafeBrowsingWhitelist()
. Esto ayuda a que las apps actualicen su código con el objeto de evitar terminología no inclusiva sin dejar de admitir el mismo conjunto de SDK de Android y versiones de WebView como API obsoleta. (I8d65d)
Versión 1.3.0
Versión 1.3.0
19 de agosto de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0
. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.2.0
- La API de ForceDarkStrategy proporciona un mayor control del oscurecimiento de WebView (oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático).
- WebMessageListener y sus API relacionadas proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView.
- La API de
isMultiProcessEnabled
permite comprobar si WebView se ejecuta en modo de procesos múltiples. Esto es posible a partir de Android O y significa que el contenido web se renderiza en un proceso, en zona de pruebas, aislado del proceso de la aplicación. Este procesador de zona de pruebas se puede compartir con otros WebViews en la misma aplicación, pero no se comparte con otros procesos de aplicaciones.
Versión 1.3.0-rc02
5 de agosto de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-rc02
. La versión 1.3.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Esto soluciona un problema de compatibilidad por el que
WebMessageListener
a veces fallaba durante el desarrollo local si tu app se iniciaba con la función Instant Run de Android Studio.
Versión 1.3.0-rc01
24 de junio de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-rc01
sin cambios desde 1.3.0-beta01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta01
10 de junio de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- La API de
ForceDarkStrategy
permite controlar el oscurecimiento de WebView (oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático). - Las API de
WebMessageListener
proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView. - La API de
MultiProcessEnabled
permite comprobar si WebView se ejecuta en modo de procesos múltiples.
Versión 1.3.0-alpha03
27 de mayo de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-alpha03
. La versión 1.3.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- El método
addWebMessageListener
ahora recibe unSet<String>
de reglas de origen permitidas (anteriormente, unList<String>
).
Versión 1.3.0-alpha02
29 de abril de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-alpha02
. La versión 1.3.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- API de MultiProcessEnabled para comprobar si WebView se ejecuta en modo de procesos múltiples.
Cambios en la API
- Todas las constantes de estrategia oscura ahora tienen el prefijo
DARK_STRATEGY
.
Versión 1.3.0-alpha01
15 de abril de 2020
Lanzamiento de androidx.webkit:webkit:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- API de
ForceDarkStrategy
para controlar el oscurecimiento deWebView
(oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático). - Las API de
WebMessageListener
proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView.
Versión 1.2.0
Versión 1.2.0
4 de marzo de 2020
Lanzamiento de androidx.webkit:webkit:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
- Se agregó la API de ForceDark para controlar si se deberían procesar WebViews en modo oscuro.
Versión 1.2.0-rc01
19 de febrero de 2020
Lanzamiento de androidx.webkit:webkit:1.2.0-rc01
sin cambios desde 1.2.0-beta01
. La versión 1.2.0-rc01 contiene estas confirmaciones.
Versión 1.2.0-beta01
5 de febrero de 2020
Lanzamiento de androidx.webkit:webkit:1.2.0-beta01
sin cambios desde 1.2.0-alpha01
. La versión 1.2.0-beta01 contiene estas confirmaciones.
Versión 1.2.0-alpha01
18 de diciembre de 2019
Lanzamiento de androidx.webkit:webkit:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó la API de ForceDark para controlar si se debería procesar WebViews en modo oscuro.
Versión 1.1.0
Versión 1.1.0
7 de noviembre de 2019
Lanzamiento de androidx.webkit:webkit:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- API de Getter para complementar setWebViewClient() y setWebChromeClient()
- API de ProxyController para establecer un proxy de solicitud de red para WebViews de una app
- API de WebViewAssetLoader para simplificar la carga de activos, recursos y archivos APK desde el directorio de datos de la app mediante la interceptación de solicitudes (esto permite el acceso a recursos web y locales sin inhabilitar CORS)
- API de TracingController para recopilar información de seguimiento de WebView con fines de depuración
- API de RenderProcess para administrar los servicios de procesamiento de WebView y detectar cuándo el contenido con mal comportamiento hace que los procesadores de WebView no respondan
- Se actualizaron las API existentes para que incluyan anotaciones de nulabilidad (
@NonNull
,@Nullable
) y de subprocesos (@UiThread
,@WorkerThread
).
Versión 1.1.0-rc01
9 de octubre de 2019
Lanzamiento de androidx.webkit:webkit:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Corrección de errores
- Se solucionó un problema en el que
setWebViewRenderProcessClient()
podía bloquearse si se pasaba un cliente nulo.
Versión 1.1.0-beta01
5 de septiembre de 2019
Lanzamiento de androidx.webkit:webkit:1.1.0-beta01
. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Nuevas funciones
- Se agregó un nuevo objeto
InternalStoragePathHandler
enWebViewAssetLoader
para cargar archivos desde el directorio de datos de la app.
Cambios en la API
ProxyConfig#getProxyRules()
ahora muestra una lista no modificable de instanciasProxyRule
, que es una nueva clase para contener un filtro de esquema y su URL proxy correspondiente.
Correcciones de errores
WebViewAssetLoader
usa de forma predeterminada un tipo de MIME "text/plain" (en lugar de nulo) cuando no puede adivinar el tipo de MIME desde la ruta del archivo.WebViewAssetLoader
ya no arroja un objetoNullPointerException
cuando se cargan archivos con caracteres especiales en sus nombres de ruta de acceso.
Versión 1.1.0-alpha02
7 de agosto de 2019
Lanzamiento de androidx.webkit:webkit:1.1.0-alpha02
. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Nuevas funciones
WebViewAssetLoader
expone la interfazPathHandler
para permitir que las apps creen una funcionalidad personalizada de administración de rutas de acceso.
Cambios en la API
- Ahora,
WebViewAssetLoader
es una clase final, ya que no debe subclasificarse. - Las implementaciones de
WebViewAssetLoader#PathHandler
ahora son públicas y finales. - Se realizaron cambios pequeños en los nombres de los métodos ProxyConfig.
ProxyController
: Se agregaron nuevos métodosaddDirect()
yaddDirect(String)
para conectarse directamente a los servidores. Se quitó la cadena DIRECTA.- Se actualizaron las API existentes para que incluyan anotaciones de nulabilidad (
@NonNull
,@Nullable
) y de subprocesos (@UiThread
,@WorkerThread
).
Versión 1.1.0-alpha01
7 de mayo de 2019
Lanzamiento de androidx.webkit:webkit:1.1.0-alpha01
. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Nuevas funciones
- API de Getter para complementar
setWebViewClient()
ysetWebChromeClient()
- API de ProxyController para establecer un proxy de solicitud de red para WebViews de una app
- API de AssetLoader para simplificar la carga de activos y recursos de APK mediante la interceptación de solicitudes, lo que permite el acceso a los recursos web sin inhabilitar CORS
- API de TracingController para recopilar información de seguimiento de WebView con fines de depuración
- API de RenderProcess para administrar los servicios de procesamiento de WebView y detectar cuándo el contenido con mal comportamiento hace que los procesadores de WebView no respondan
Corrección de errores
- Se hicieron correcciones menores al formato de documentación para las API existentes.