Local blog for Spanish speaking developers in LATAM
Mejoramiento de la biometría en Android P
martes, 3 de julio de 2018
Publicado por Vishwath Mohan, experto en seguridad
Para mantener a los usuarios más seguros, la mayoría de las apps y de los dispositivos tienen un mecanismo de autenticación o una manera de comprobar tu identidad. Estos mecanismos se clasifican en tres categorías: factores de conocimiento, factores de posesión y factores biométricos. Los factores de
conocimiento
solicitan algo que conozcas (como un PIN o una contraseña), los de
posesión
algo que tengas (como un generador de token o una clave de seguridad) y los
biométricos
algo de ti mismo (como tus huellas digitales, iris o tu rostro).
Los mecanismos de autenticación biométrica se están volviendo populares y es sencillo entender por qué. Son más ágiles que los métodos de escritura de contraseñas, más simpleza que la alternativa de llevar una clave de seguridad separada y evitan uno de los inconvenientes más comunes de la autenticación basada en factores de conocimiento: el riesgo de la práctica de obtención ilegítima de información personal conocida como
“shoulder surfing”
.
A medida que más dispositivos incorporan la autenticación biométrica para proteger la información privada de la gente, implementamos mejoras a la autenticación basada en datos biométricos de Android P de la siguiente manera:
Definimos un mejor modelo para medir la seguridad biométrica y lo usamos para restringir funcionalmente los métodos de autenticación menos seguros.
Proporcionamos un punto de entrada común facilitado por la plataforma para los desarrolladores, a fin de integrar la autenticación biométrica a sus apps.
Un modelo de seguridad mejorado para biometría
Actualmente, los desbloqueos biométricos cuantifican su rendimiento hoy con dos métricas tomadas del aprendizaje automático (AA): índice de aceptación falsa (FAR) e índice de rechazo falso (FRR).
En el caso de la biometría, el FAR mide la frecuencia con que un modelo biométrico clasifica por accidente una entrada incorrecta como perteneciente al usuario de destino; es decir, la frecuencia con que se reconoce de manera falsa a otro usuario como propietario legítimo del dispositivo. Asimismo, el FRR mide la frecuencia con que un modelo biométrico clasifica por accidente los datos biométricos del usuario como incorrectos; es decir, la frecuencia con que el propietario de un dispositivo legítimo debe volver a intentar realizar la autenticación. El primer asunto tiene que ver con la seguridad, mientras que el segundo se relaciona con la usabilidad.
Ambas alternativas dan excelente resultado al medir la precisión de un modelo de AA (o biométrico) cuando se aplica a muestras de entrada aleatorias. Sin embargo, debido a que las métricas no dan cuenta de un atacante activo como parte del modelo de amenazas, no proporcionan información que resulte muy útil respecto de su resistencia contra los ataques.
En Android 8.1,
presentamos dos nuevas métricas
que dan cuenta de un atacante de manera más explícita en el modelo de amenazas: índice de aceptación de falsificación de identidad (SAR) e índice de aceptación de impostores (IAR). Tal como sus nombres lo sugieren, estas métricas indican el grado de facilidad con que un atacante vulnerará un esquema de autenticación biométrica. El término “falsificación de identidad” hace referencia al uso de registros buenos conocidos (p. ej., la reproducción de una grabación de voz, o el uso de una imagen de un rostro o una huella digital), mientras que “aceptación de impostores” implica la imitación exitosa de los datos biométricos de otro usuario (p. ej., el intento de simular el sonido o el aspecto de un usuario de destino).
Mecanismos biométricos seguros y no seguros
Utilizamos las
métricas de SAR e IAR
para categorizar los mecanismos de autenticación biométrica como seguros o no seguros. Los mecanismos de autenticación biométrica con un SAR o IAR del 7% o inferior son seguros y aquellos en los cuales los índices citados superan este porcentaje son inseguros. ¿Por qué se aplica la cifra específica del 7%? En la mayoría de las implementaciones de huellas digitales se emplea una métrica de SAR o IAR que ronda el 7%, con lo cual este estándar resulta apropiado como punto de partida para otras modalidades. A medida que los sensores y métodos de clasificación mejoren, el umbral podrá reducirse en el futuro.
Esta clasificación binaria es una simplificación ligeramente excesiva del rango de seguridad que proporcionan las diferentes implementaciones. Sin embargo, nos proporciona un mecanismo escalable (a través del modelo de autenticación por niveles) para abarcar las capacidades y restricciones de diferentes implementaciones biométricas en el ecosistema, según el riesgo general que planteen.
Si bien se permitirán datos biométricos seguros y no seguros para desbloquear un dispositivo, los no seguros:
Exigen que el usuario vuelva a introducir el PIN, el patrón o la contraseña principal, o un dato biométrico seguro para desbloquear un dispositivo después de 4 horas de inactividad; por ejemplo, cuando el dispositivo permanece sin uso o en proceso de carga. Esto se agrega al tiempo de espera de 72 horas que se aplica de manera forzosa a datos biométricos seguros y no seguros.
No son compatibles con la
BiometricPrompt API
próxima, una API común cuyo propósito es que los desarrolladores de apps autentiquen a los usuarios en un dispositivo con independencia de la modalidad.
No pueden autenticar pagos ni participar en otras transacciones que impliquen una clave asociada a autenticación de KeyStore.
Deben mostrar a los usuarios una advertencia que articule los riesgos de utilizar el dato biométrico para la habilitación.
Estas medidas están pensadas para permitir datos biométricos menos seguros y, al mismo tiempo, reducir el riesgo de que se produzcan accesos no autorizados.
BiometricPrompt API
A partir de Android P, los desarrolladores pueden utilizar la
BiometricPrompt API
para integrar la autenticación biométrica a sus apps con independencia del dispositivo y de los datos biométricos. BiometricPrompt solo expone modalidades seguras, para que los desarrolladores puedan contar con un nivel de seguridad uniforme en todos los dispositivos que tengan instaladas sus aplicaciones. También se proporciona una biblioteca de compatibilidad para dispositivos con Android O y versiones anteriores, lo cual permite que las aplicaciones aprovechen las ventajas de esta API en más dispositivos.
A continuación, se muestra una arquitectura de alto nivel de BiometricPrompt.
La API está pensada para que su uso sea sencillo, lo cual permite que la plataforma seleccione un dato biométrico apropiado para la autenticación en lugar de forzar a los desarrolladores de apps a implementar esta lógica por cuenta propia. Aquí te mostramos un ejemplo de cómo un desarrollador podría utilizarla en su app:
Conclusión
Los datos biométricos pueden simplificar y hacer más segura la forma en que autenticamos nuestra identidad digital, pero solo cuando se diseñan de forma segura, se miden con precisión y se implementan de modo que se preserve la privacidad.
Nuestro deseo es que Android cumpla con estos tres requisitos. Para ello, combinaremos principios de diseño seguro, una metodología con mayor capacidad de reconocimiento de atacantes y una API de datos biométricos común y fácil de utilizar, que permita a los desarrolladores integrar la autenticación de manera simple, uniforme y segura.
Agradecimientos: Esta entrada se desarrolló en colaboración con Jim Miller.
Blog de Android para desarrolladores: ¡Android P Beta 2 y las API finales!
viernes, 15 de junio de 2018
Publicado por Dave Burke, vicepresidente de Ingeniería
Hace cuatro semanas, en el Google I/O, lanzamos la primera
versión beta de Android P
, con lo cual posicionamos a la IA en un lugar central del sistema operativo y nos concentramos en experiencias inteligentes y simples.
Hablamos acerca de algunas de las características más nuevas de Android en las presentaciones y analizamos en profundidad las API para desarrolladores durante las sesiones de trabajo. Si te perdiste la transmisión en vivo, asegúrate de ver
la playlist completa de disertaciones de Android
.
Hoy lanzaremos Android P Beta 2, una actualización que incluye las
Android P API finales
, las últimas imágenes de sistema y herramientas para desarrolladores actualizadas que te permiten prepararte para el lanzamiento orientado a consumidores, posteriormente durante el verano.
Puedes acceder a Android P Beta 2 en dispositivos Pixel
registrándote aquí
. Si ya estás registrado y recibiste Android P Beta 1 en tu dispositivo Pixel, obtendrás automáticamente la actualización a Beta 2. Los colaboradores que participan en el
programa de Android P Beta
actualizarán sus dispositivos en las próximas semanas.
Mejora tu app con las características y API de Android P
Android P Beta 2 es la última actualización de nuestra próxima plataforma de Android P e incluye las API finales (nivel de API 28) y el SDK oficial. Puedes comenzar hoy mismo a realizar compilaciones con las características y API de Android P. Aquí hay algunas que queremos que pruebes; lee la
descripción general de las características
para obtener más información.
Un lugar central para el aprendizaje automático
Nos asociamos con
DeepMind
para el desarrollo de una característica que denominamos
Adaptive Battery
(batería adaptativa), que usa el aprendizaje automático a fin de priorizar los recursos de sistema para las apps que más le importan al usuario. Si tu app se encuentra optimizada para
Doze
,
App Standby
y
Background Limits
, Adaptive Battery funcionará de manera directa en tu caso. Asegúrate de consultar la información de la
documentación sobre administración energía
para ver cómo funciona y los puntos en los que puede haber impacto, y también probar tus apps para asegurarte de que estén listas.
Apps Action
es una nueva manera de ayudarte a hacer más visible tu app y aumentar la captación. Las acciones aprovechan del aprendizaje automático en Android para lograr que tu usuario visibilice tu app en el momento correcto, según los
intents
semánticos de tu app y el contexto del usuario. Las acciones que funcionan en Android P y en las versiones anteriores de la plataforma estarán disponibles pronto para que comiences a usarlas.
Regístrate aquí
para recibir notificaciones cuando las acciones estén disponibles.
Los
segmentos
son una nueva alternativa para dar visibilidad a contenido completo con plantillas en lugares como Google Search y Assistant. Son interactivos y a través de
Android Jetpack
son compatibles con versiones anteriores hasta KitKat. Consulta la
guía de introducción
para obtener información sobre cómo realizar compilaciones con segmentos; puedes usar la
herramienta SliceViewer
para ver el aspecto de tus segmentos. Con el paso del tiempo, planeamos expandir el número de lugares en los que pueden aparecer tus segmentos, incluso la pantalla remota en otras apps.
Simplicidad y terminación
En Android P se agrega compatibilidad de plataforma para pantallas con recortes de pantalla, y hemos añadido
API nuevas
que te permiten brindar una experiencia enriquecida de borde a borde en las pantallas más nuevas. La compatibilidad con recortes funciona sin inconvenientes para las apps y el sistema administra la altura de la barra de estado para separar tu contenido del recorte. Si tienes contenido inmersivo, puedes usar las
API de recortes de pantalla
para comprobar la posición y la forma del recorte y solicitar el diseño de pantalla completa a su alrededor.
Todos los desarrolladores deben consultar los
documentos
para obtener información sobre cómo manejar el área recortada y evitar los problemas comunes de compatibilidad que pueden afectar las apps. Asegúrate de probar tu app en un dispositivo que tenga un recorte de pantalla, como uno de los
dispositivos de Android P Beta
.
Las apps con contenido inmersivo pueden mostrar contenido en pantalla completa en dispositivos con recorte de pantalla.
Si tu app usa notificaciones del centro de mensajes, aprovecha los cambios en
MessagingStyle
que hacen aún más útiles e interactivas las notificaciones. Ahora puedes mostrar conversaciones, adjuntar fotos y calcos, e incluso sugerir respuestas inteligentes. Pronto podrás usar
ML Kit
a fin de generar sugerencias de respuestas inteligentes para tu app.
Notificaciones de MessagingStyle con conversaciones y respuestas inteligentes [izquierda], imágenes y calcos [derecha].
Seguridad
Con diferentes sensores biométricos en uso para la autenticación, hemos llevado a cabo una experiencia más uniforme en tipos de sensores y apps. Android P presenta un diálogo administrado por el sistema para solicitar al usuario cualquier tipo de autenticación biométrica compatible. Las apps ya no necesitan compilar su propio diálogo; en cambio usan la
BiometricPrompt API
para mostrar el diálogo de sistema estándar. Además de Fingerprint (incluso sensores en la pantalla), la API admite autenticación de rostros e iris.
Si tu app dibuja sus propios diálogos de autenticación por huellas dactilares, debes comenzar a usar la
BiometricPrompt API
lo más pronto posible.
Más
Si tu app usa la cámara del dispositivo, prueba las
multi-camera API
que te permiten acceder a flujos de manera simultánea desde dos o más cámaras físicas. En dispositivos con dos cámaras, puedes crear características innovadoras que no serían posibles con una sola, como el zoom uniforme, el bokeh y la visión estéreo. Puedes comenzar hoy mismo a usar cualquiera de los
dispositivos de Android P Beta
que ofrece una cámara doble.
Las app de audio pueden usar la
Dynamics Processing API
para acceder a un efecto de procesamiento dinámico de varias etapas y bandas para modificar el audio que proviene de los dispositivos de Android y optimizarlo de acuerdo con las preferencias del receptor o las condiciones del ambiente.
Lee la
descripción general de las características de Android P
para acceder a una lista completa de las características y API nuevas.
Los primeros pasos son simples
Primero,
haz que tu app sea compatible
y ofrece a tus usuarios una transición fluida a Android P. Simplemente instala tu app actual desde Google Play en un
dispositivo con Android P Beta
o en un
emulator
y pruébala. Esta debe ejecutarse, verse bien y manejar el
cambio de comportamiento para todas las apps
de Android P de forma adecuada. Una vez que apliques las actualizaciones necesarias, te recomendamos realizar una publicación en Google Play de inmediato sin cambiar la plataforma a la que apunta la app.
Si no tienes un
dispositivo compatible
, recuerda que puedes
configurar un Android Virtual Device
(dispositivo virtual de Android) en Android Emulator como entorno de prueba. Si no has probado el emulador recientemente, te resultará increíblemente rápido. Se inicia en menos de 6 segundos e incluso puedes modelar pantallas de última generación; entre otras, pantallas largas y pantallas con recorte.
Luego,
actualiza
la targetSdkVersion de tu app a la versión 28
lo más pronto posible para que los usuarios de tu app que tengan Android P se puedan beneficiar con las últimas características de estabilidad, rendimiento y seguridad. Si tu app ya está orientada a una API posterior a la 26, en línea con
las próximas políticas de Google Play
, el cambio a 28 debería representar un pequeño salto.
También es importante que
pruebes tus apps para el uso de interfaces que no pertenezcan al SDK
y que recurras menos a ellas. Como
se indicó anteriormente
, en Android P estamos iniciando un proceso gradual para restringir el acceso a interfaces seleccionadas que no pertenezcan al SDK. Mantente alerta a las advertencias de logcat en las que se destaquen los usos directos de interfaces restringidas que no pertenezcan al SDK y prueba el método nuevo StrictMode
detectNonSdkApiUsage()
para captar accesos de manera programática. Cuando sea posible, debes comenzar a usar equivalentes públicos del SDK o NDK de Android. Si no existe una API pública que adecue a tu caso de uso,
avísanos
.
Cuando estés listo,
explora Android P
y obtén información sobre las
características y API nuevas
para extender tus apps. Para compilar las API nuevas,
descarga el SDK de la API 28 oficial
y las herramientas en Android Studio 3.1 o usa la última versión de
Android Studio 3.2
. Luego, actualiza la compileSdkVersion y targetSdkVersion de tu proyecto a API 28.
Visita el
sitio de la Developer Preview
para hallar detalles y documentación. También consulta
este video
y la
playlist de Android de Google I/O
a fin de obtener más información sobre las novedades de Android P para los desarrolladores.
Realizar publicaciones en los canales alfa, beta o incluso de producción de Google Play
A partir de hoy, puedes publicar las actualizaciones de tu APK que se compilan con la API 28 o, de manera opcional, se orientan a ella. La publicación de una actualización en Google Play durante la vista previa te permite introducir actualizaciones para que los usuarios prueben la compatibilidad en dispositivos existentes, incluidos los dispositivos con Android P Beta 2.
Para asegurarte de que tu app actualizada funcione bien en Android P y versiones anteriores, una estrategia común consiste en usar la
función de pruebas beta de Google Play
con el fin de recibir comentarios anticipados de un grupo de usuarios reducido (incluidos los de Android P Beta 2) y luego realizar una implementación por etapas para la producción.
Cómo obtener Android P Beta 2
Para dispositivos de Pixel, puedes
registrar tu dispositivo en el programa de Android Beta
y recibir automáticamente la actualización para Android P Beta 2 inalámbrica. Si ya estás registrado y recibiste la versión beta 1, permanece alerta a la actualización que pronto llegará. Los colaboradores que participan en el
programa de Android P Beta
actualizarán sus dispositivos en las próximas semanas.
Puedes ver la lista completa de dispositivos de colaboradores y Pixel compatibles en
android.com/beta
. En el caso de cada dispositivo, encontrarás especificaciones y enlaces al sitio dedicado del fabricante para realizar descargas, recibir asistencia y para notificar problemas.
Estamos muy agradecidos por todos los comentarios recibidos hasta ahora. Mientras seguimos trabajando en el lanzamiento para consumidores, que se producirá posteriormente este verano, te pedimos que continúes compartiendo
comentarios o solicitudes
. No dudes en usar nuestras listas de prioridades para
problemas de plataformas
,
problemas de compatibilidad con apps
y
problemas con SDK de terceros
.
¡Esperamos ver tus apps en Android P!
Versión preliminar de Android P
viernes, 9 de marzo de 2018
Publicado por Dave Burke, Vicepresidente de ingeniería, publicado en
Blog de Android para programadores.
La semana pasada, en el congreso Mobile World Congress, vimos que el ecosistema de Android, formado por desarrolladores, fabricantes de dispositivos y proveedores de silicio, continúa proporcionando experiencias fantásticas a usuarios de todo el mundo.
Nos anticipamos y compartimos la primera versión preliminar para desarrolladores de
Android P
, la nueva versión de Android. Se trata de una compilación básica preliminar pensada solo para desarrolladores; ustedes son los revisores y evaluadores más confiables ;-). Los comentarios tempranos de nuestra comunidad de desarrolladores son fundamentales para ayudarnos a mejorar la plataforma y satisfacer sus necesidades. Nos gustaría que comiencen a probar las nuevas funciones y API de P, y como siempre, confiamos en sus ideas y comentarios adelantados; por eso, ¡no dejen de
darnos su opinión
!
La primera versión preliminar de Android P para desarrolladores es solo el comienzo; tendremos mucho más para compartir en
Google I/O
en mayo ¡Estén atentos!
Nuevas funciones para probar en tus apps
Aquí les mostramos algunas de las funciones geniales de esta primera versión preliminar de Android P que queremos que prueben y evalúen
con su opinión
.
Posicionamiento en interiores con RTT de WiFi
El posicionamiento preciso en interiores ha sido, por mucho tiempo, un desafío que abre nuevas oportunidades para servicios basados en la ubicación. Android P suma una plataforma compatible con el protocolo de WiFi IEEE 802.11mc, también conocido como tiempo de ida y vuelta (RTT) de WiFi, para que puedan aprovechar el posicionamiento en interiores en sus apps.
En los dispositivos Android P con hardware correspondiente, permiso de ubicación y ubicación habilitada, sus apps podrán usar
RTT API
para medir la distancia a los puntos de acceso (PA) WiFi cercanos. No es necesario que el dispositivo se conecte a los PA para usar RTT, y mantener la privacidad; solo el teléfono puede determinar la distancia, los PA no pueden hacerlo.
Al conocer la distancia a 3 o más PA, pueden calcular la posición del dispositivo con una precisión de 1 a 2 metros. Con esa precisión, pueden crear nuevas experiencias, como la navegación en instalaciones, servicios específicos basados en la ubicación, como el control de voz inequívoco (p.ej., “Encender esta luz”) e información basada en la ubicación (p. ej., “¿Hay ofertas especiales para este producto?”).
Compatibilidad con recorte de pantalla
Ahora, las apps pueden aprovechar al máximo las pantallas de los dispositivos más nuevos con contenido en pantalla completa. Agregamos el recorte de pantalla en la plataforma, junto con API que pueden usar para gestionar la visualización de su contenido.
La compatibilidad con recorte funciona sin inconvenientes para las apps y el sistema administra la altura de la barra de estado para separar su contenido del recorte. Si tienen contenido inmersivo crítico, también pueden usar las
nuevas API
para comprobar la forma del recorte y solicitar que se aplique un diseño de pantalla completa a su alrededor. Pueden verificar si el dispositivo actual tiene un recorte llamando a
getDisplayCutout()
, y luego determinar la ubicación y la forma del área de recorte usando
DisplayCutout
. Un nuevo atributo de diseño de ventanas,
layoutInDisplayCutoutMode
, les permite indicar al sistema cómo y cuándo mostrar su contenido en relación con el área de recorte. Pueden encontrar más información
aquí
.
Para que les resulte más fácil compilar y probar la compatibilidad con el recorte en su app, agregamos una opción para desarrolladores que simula un recorte en cualquier dispositivo. Les recomendamos probar sus apps existentes con el recorte de pantalla habilitado para garantizar que su contenido se muestre correctamente.
Las apps con contenido inmersivo pueden mostrar contenido en pantalla completa en dispositivos con recorte de pantalla.
Notificaciones de mensajería mejoradas
En Android P, priorizamos la mejora de la visibilidad y la función de las notificaciones. Prueben el nuevo estilo de notificación
MessagingStyle
, que destaca quién envía mensajes y cómo se puede responder. Pueden mostrar conversaciones, adjuntar fotos y calcos, e incluso sugerir respuestas inteligentes. Encontrarán información detallada
aquí
.
En las notificaciones MessagingStyle ahora pueden mostrar conversaciones y respuestas inteligentes [izquierda], e incluso adjuntar imágenes y calcos [derecha].
Multi-camera API
Ahora pueden acceder a transmisiones simultáneamente desde
dos o más cámaras físicas
en dispositivos con Android P. En dispositivos con dos cámaras frontales o posteriores, pueden crear funciones innovadoras que no serían posibles con una sola cámara, como el zoom uniforme, el bokeh y la visión estéreo. La API también les permite llamar a una transmisión de cámara lógica o fusionada que automáticamente alterna entre dos o más cámaras. Esperamos ver sus creaciones nuevas y fabulosas no bien los dispositivos Android P compatibles con varias cámaras lleguen al mercado durante este año.
Entre otras mejoras en la cámara, se incluyen nuevos
parámetros de sesión
, que ayudan a reducir demoras durante la captura inicial, y el uso compartido en Surface, que permite a los clientes de la cámara manejar varios casos de uso sin tener que detener e iniciar la transmisión de la cámara. También agregamos API para brindar
compatibilidad con flash
basada en la pantalla y acceso a
marcas de tiempo OIS
para lograr estabilidad en la imagen y efectos especiales en el nivel de la app.
ImageDecoder para mapas de bits y elementos de diseño
Android P ofrece una alternativa más sencilla para decodificar imágenes en mapas de bits o elementos de diseño; se trata de
ImageDecoder
, que reemplaza a
BitmapFactory
. ImageDecoder les permite crear un mapa de bits o elemento de diseño a partir de un búfer de bytes, un archivo o un URI. Ofrece varias ventajas en comparación con BitmapFactory, incluida la compatibilidad con ajuste de escala exacto, decodificación en un solo paso en memoria de hardware, compatibilidad con posprocesamiento en la decodificación y decodificación de imágenes animadas.
Pueden decodificar y aplicar un ajuste a escala a un tamaño exacto realizando solo una llamada a
setResize()
con las dimensiones exactas. También pueden llamar a
getSampledSize()
para obtener las dimensiones de la imagen en una frecuencia de muestreo específica, y luego ajustar a escala esas dimensiones. Si desean aplicar posprocesamiento a una imagen (por ejemplo, aplicar esquinas redondeadas a máscaras circulares o efectos más complicados), pueden pasar a ImageDecoder cualquier
android.graphics.PostProcessor
. También pueden crear elementos de diseño directamente con
ImageDecoder.decodeDrawable()
. Si la imagen codificada es un GIF o WebP animado, el elemento de diseño será una instancia del nuevo
AnimatedImageDrawable
.
Video HDR VP9, compresión de imagen HEIF y API de medios
Android P incorpora compatibilidad integrada para HDR VP9 Perfil 2 para que ahora puedan ofrecer películas en HDR a sus usuarios en YouTube, Play Movies y otros recursos en dispositivos que admitan HDR.
Nos entusiasma agregar codificación de imágenes
HEIF
(heic) a la plataforma. HEIF es un formato popular para fotos que mejora la compresión para el guardado en un medio de almacenamiento y datos de red. Con dispositivos Android P compatibles con la plataforma, es fácil enviar y utilizar imágenes HEIF desde sus servidores backend. Asegúrense de que sus apps sean compatibles con este formato de datos para compartir y mostrar contenido, y luego prueben HEIF como formato de almacenamiento de imágenes en sus apps. Pueden realizar una conversión de jpeg a heic usando
ImageDecoder
o
BitmapFactory
para obtener un mapa de bits a partir de jpeg, y usar
HeifWriter
en la nueva biblioteca de compatibilidad alfa para escribir imágenes HEIF estáticas desde el búfer de bytes YUV, Surface o un mapa de bits.
También nos encontramos en el proceso de mejorar y refactorizar las API de medios para que resulten más fáciles de desarrollar e integrar; les proporcionaremos más información posteriormente durante el año.
Sensibilidad al costo de datos en JobScheduler
JobScheduler
es el servicio central de Android pensado para ayudarlos a administrar tareas programadas o trabajos en
Descanso
,
App Standby
y cambios de los
Límites de segundo plano
. En Android P, JobScheduler controla mejor las tareas relacionadas con la red para el usuario aplicando coordinación con señales de estado de red que los proveedores proporcionan por separado.
Ahora las tareas pueden declarar su tamaño de datos estimado, realizar búsquedas anticipadas de señal y especificar requisitos de red detallados; los proveedores pueden notificar congestión o falta de medición en las redes. JobScheduler luego administra el trabajo de acuerdo con el estado de la red. Por ejemplo, cuando una red está congestionada, JobScheduler podría diferir las solicitudes de red de magnitud grande. Cuando la red es no medida, puede ejecutar tareas de búsqueda anticipada para mejorar la experiencia del usuario, como la búsqueda anticipada de encabezados.
Cuando agreguen trabajos, prueben
setEstimatedNetworkBytes()
,
setIsPrefetch()
y
setRequiredNetwork()
para permitir que JobScheduler controle las tareas correctamente. Cuando se ejecute su trabajo, asegúrense de usar el objeto de red que muestre
JobParameters.getNetwork()
; de lo contrario, implícitamente usarán la red predeterminada del dispositivo que podría no cumplir con sus requisitos y generar uso de datos no intencionado.
Neural Networks API 1.1
En Android 8.1 presentamos
Neural Networks API
para acelerar el aprendizaje automático en dispositivos con Android. En Android P, ampliamos y mejoramos esta API agregando compatibilidad con nueve operaciones nuevas: Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Strided Slice, Mean, Div, Sub y Squeeze. Si tienen un dispositivo Pixel 2, la versión DP1 ahora incluye un controlador Qualcomm Hexagon HVX con aceleración para modelos cuantificados.
Mejoras en Autofill
En Android P, continuamos mejorando Autofill Framework en respuesta a los comentarios de usuarios y desarrolladores. Además de correcciones de errores claves, en esta versión se incluyen nuevas API que permiten a los administradores de contraseñas mejorar la experiencia del usuario con Autofill; por ejemplo, se mejoran la
filtración del conjunto de datos
, la
limpieza de los datos ingresados
y el
modo de compatibilidad
. El modo de compatibilidad en particular tiene un alto impacto en los usuarios finales, ya que permite a los administradores de contraseñas adoptar un enfoque basado en la accesibilidad en apps que aún no son totalmente compatibles con Autofill, sin afectar el rendimiento ni la seguridad. Podrán consultar toda la información sobre las novedades
aquí
.
Abrir Mobile API para pagos NFC y transacciones seguras
Android P suma la implementación de
GlobalPlatform Open Mobile API
en Android. En los dispositivos compatibles, las apps pueden usar la
OMAPI API
para acceder a elementos seguros (SE) y habilitar pagos con tarjeta inteligente y otros servicios seguros. Una capa de abstracción de hardware (HAL) proporciona la API subyacente para enumerar diferentes elementos seguros (eSE, UICC, etc.) disponibles.
Fortalecimiento de las bases de Android
En Android P continuamos nuestra inversión a largo plazo con el objetivo de hacer que Android se la mejor plataforma para los desarrolladores.
Seguridad para las apps
En Android P avanzamos a una IU más uniforme para la autenticación mediante huellas dactilares en apps y dispositivos. Android ahora proporciona un diálogo de sistema estándar para solicitar al usuario que toque el sensor de huellas digitales, y administra el texto y la ubicación según corresponda para el dispositivo. Las apps pueden activar el diálogo de huellas digitales del sistema usando una nueva
FingerprintDialog
API. Les recomendamos realizar un cambio al nuevo diálogo de sistema cuanto antes.
Como parte de un esfuerzo mayor para trasladar todo el tráfico de red de cleartext (HTTP sin encriptar) a TLS, también estamos cambiando los ajustes predeterminados de la
Configuración de seguridad de la red
para bloquear todo el tráfico de cleartext. Si están usando una configuración de seguridad de red, deberán establecer conexiones a través de TLS, a menos que indiquen explícitamente que desean usar cleartext para dominios específicos.
Privacidad para los usuarios
Para optimizar la privacidad, Android P restringe el acceso al micrófono, la cámara y todos los sensores de
SensorManager
de apps inactivas. Mientras la UID de tu app está inactiva, el micrófono notifica audio vacío y los sensores dejan de notificar eventos. Las cámaras que usan sus apps se desconectan y se produce un error si la app intenta usarlas. En la mayoría de los casos, estas restricciones no deberían generar problemas nuevos para las apps existentes, pero les recomendamos eliminar esas solicitudes de sus apps.
También habilitaremos la encriptación de las copias de seguridad de Android con un secreto del cliente. Esta función aún está en desarrollo y se presentará en una versión preliminar futura de Android P.
En el largo plazo, trabajaremos para proporcionar compatibilidad con la aleatorización por red de direcciones MAC asociadas con la plataforma. En los dispositivos compatibles que tengan Android P, pueden habilitar esto de forma experimental para probarlo como una nueva opción para desarrolladores.
Android P también permite al usuario controlar el acceso al identificador build.serial de la plataforma disponiéndolo detrás del permiso
READ_PHONE_STATE
. El acceso directo a este identificador
es obsoleto desde Android 8.0
. Para acceder al identificador build.serial, deben usar el método
Build.getSerial()
.
Rendimiento de ART
Estamos trabajando para proporcionar mejoras de rendimiento y eficiencia para todas las apps a través del tiempo de ejecución ART. Ampliamos el uso de perfiles de ejecución por parte de ART para optimizar las apps y reducir el consumo de memoria del código de app compilado. ART ahora usa información de perfil para reescribir archivos DEX en el dispositivo, con reducciones de hasta el 11% en diferentes apps populares. Esperamos que esas reducciones se correlacionen estrechamente con reducciones en el consumo de memoria del sistema por parte de los archivos DEX y en los tiempos de inicio para sus apps.
Optimización de Kotlin
Kotlin es un
lenguaje de primera clase en Android
. ¡Si aún no lo probaron, deberían hacerlo! Nos hemos comprometido firmemente a mantener Kotlin en Android a largo plazo y continuar ampliando la compatibilidad, que incluye optimizar el rendimiento del código Kotlin. En P verán los primeros resultados de este trabajo; mejoramos varias optimizaciones del compilador, especialmente las que apuntan a bucles, para lograr un mejor rendimiento. También seguimos trabajando junto con JetBrains para optimizar el código que genera Kotlin. Pueden obtener todas estas novedosas mejoras de rendimiento de Kotlin con solo mantener actualizado el complemento Kotlin de Android Studio.
Más eficacia
En Android P continuamos refinando
Doze
,
App Standby
y
Background Limits
para optimizar aún más la duración de la batería. Asegúrense de probar sus apps con estas funciones y enviarnos sus comentarios.
Apuntando a un Android moderno
Android P tomó forma en base a nuestras iniciativas de largo plazo orientadas a modernizar las bases de Android y las apps que se ejecutan en la plataforma. Como anunciamos
recientemente
, Google Play requerirá que todas las actualizaciones de apps apunten a Android Oreo (
targetSdkVersion
26 o posterior) antes de noviembre de 2018 y que sean compatibles con hardware de 64 bits más cerca de 2019.
En línea con estos cambios, Android P advertirá a los usuarios con un diálogo cuando instalen una app que apunte a una plataforma anterior a Android 4.2 (targetSdkVersion inferior a 17), y las versiones futuras de la plataforma continuarán aumentando ese requisito mínimo. Recomendamos a todos los desarrolladores de Android que empiecen a planificar la migración para apuntar ahora a la API 26, y que comiencen las tareas de migración lo más pronto posible. Esta es una
lista de verificación de recursos
para obtener ayuda y asistencia. Esperamos ver que sus apps aprovechen al máximo este Android moderno.
Mejora de la compatibilidad de las apps a través de API públicas
Un tema clave para usuarios y desarrolladores es la compatibilidad de las apps; asegúrense de que las apps estén listas para las nuevas versiones de la plataforma a medida que se lancen, sin correr el riesgo de que ocurran bloqueos para los usuarios e implementaciones de emergencia para los desarrolladores. Hay buenas probabilidades de que las apps que usan Android API públicas del SDK o NDK sean compatibles. Sin embargo, las apps que usan interfaces y bibliotecas privadas para Android no lo son.
Por lo tanto, con Android P estamos iniciando un
proceso gradual
para restringir el acceso a interfaces seleccionadas que no pertenecen al SDK y les pedimos a los desarrolladores, incluidos los equipos de apps dentro de Google, que usen los equivalentes públicos como alternativa. Cuando no haya un equivalente público para tu caso de uso,
avísanos
. Queremos asegurarnos de que este proceso sea lo más sencillo posible para los desarrolladores, por lo que aplicaremos sus comentarios a fin de garantizar que la implementación inicial solo afecte a las API que los desarrolladores puedan migrar fácilmente a alternativas públicas. Podrán obtener más información sobre las
restricciones aquí
.
Los primeros pasos son simples
Primero,
hagan que sus app sean compatibles
para permitir que sus usuarios realicen una transición sin inconvenientes a Android P. Simplemente, descarguen una
imagen de sistema para dispositivos
o una imagen de sistema del emulador, instalen sus apps actuales y pruébenlas. La app deberá ejecutarse y verse muy bien, y además de controlar correctamente los
cambios de comportamiento
. Una vez que apliquen las actualizaciones necesarias, les recomendamos realizar la publicación en Google Play de inmediato sin cambiar la plataforma a la que apunta la app.
Recuerden que no necesitan un dispositivo compatible con Pixel para realizar pruebas o desarrollar en Android P. Para la mayoría de los usos, recomendamos
configurar un dispositivo Android Virtual Device
en Android Emulator
como entorno de prueba. Si no han probado el emulador últimamente, les resultará increíblemente rápido; se inicia en menos de 6 segundos, es fácil de usar e incluso pueden modelar pantallas de última generación; entre otras, se encuentran las largas y las de recorte de cámara.
Luego,
cambien la plataforma a la que apunten sus apps por “P”
y ejecútenla con la experiencia de Android P completa. En sus apps, fijen targetSdkVersion en “P” y compileSdkVersion en “android-P”, realicen la compilación y luego una prueba. Asegúrense de leer los cambios de comportamiento para apps que apunten a P a fin de identificar las áreas que querrán probar y podrían necesitar ajustes.
Cuando estén listos,
exploren Android P
e infórmense sobre las diversas
funciones y API nuevas
que pueden aprovechar en sus apps. Para que explorar las nuevas API sea todavía más fácil, lean el
informe de diferencias de las API
y la
Referencia de API para Android P
. Visiten el
sitio de la versión preliminar para desarrolladores de P
para obtener información detallada sobre el
cronograma de versiones preliminares
y
recursos de ayuda
. Miren también
este video
, en el que se destacan las novedades de Android P para desarrolladores.
Para comenzar a realizar compilaciones con Android P, descarguen el SDK de la versión preliminar de P para desarrolladores y las herramientas en Android Studio 3.1 o usen la última versión Canary de
Android Studio 3.2
. También lanzaremos una
versión alfa de la biblioteca de compatibilidad 28.0.0
para que la prueben.
Lo que viene
La versión preliminar de Android P para desarrolladores incluye un SDK actualizado con imágenes del sistema para probar en el emulador Android Emulator oficial y en dispositivos Pixel, Pixel XL Pixel 2 y Pixel 2 XL.
Planeamos actualizar las imágenes del sistema y el SDK de la versión preliminar con frecuencia mientras esté vigente la versión preliminar. Este lanzamiento inicial es solo para desarrolladores y no está previsto para uso diario o por parte del consumidor. Por lo tanto, se encuentra disponible
únicamente para descarga e instalación manual
.
Puedes acceder a descargas e instrucciones aquí
.
A medida que nos aproximemos al producto final, invitaremos también a los consumidores a probarlo y en ese momento abriremos las inscripciones mediante Android Beta. No se pierdan la información detallada y por ahora recuerden que Android Beta actualmente no está disponible para Android P.
Como siempre, sus comentarios son muy importantes; por eso,
transmítannos sus opiniones
. Cuanto antes las recibamos, mayor será la cantidad que podremos aplicar. Cuando encuentren problemas,
notifíquenlos aquí
. Tenemos listas de prioridades independientes para presentar
problemas de la plataforma
,
problemas de compatibilidad de las apps
y
problemas con SDK externos
.
Labels
.app
.dev
.txt
#AMP
#CPU
#DeveloperStudentClubs
#DevFest
#DragonBall
#DSC
#Forsety
#ForsetySecurity
#freeandopen
#GCP
#Google
#GoogleCloud
#GoogleCloudPlatform
#GoogleLaunchpad
#iio2009
#Kubernetes
#MaterialDesign
#OneCommunity
#Security
#TensorFlow
#UPGlobal
#UpLatam
#WithGoogle
+page
10 YEARS
2013
2019
64 bits
A/B Testing
AA
Accelerator
Action on Goolge
actionbar
Actions
Actions Console
AdMob
Ads
adwords
adwords api
AI
AIY
ajax
alarmmanager
ALFA
almacenamiento
alojamiento de proyectos en google code
AMP
AMP Conf
AMP Project
amp-date-picker
amphtml
Analytics
Andorid
android
Android (operating System)
Android 3.1
android 3.3
android 4.2
android 9
Android 9 Pie
Android App Bundle
android design
Android Dev Summit
Android Developers
android Jetpack
Android P
Android SDK
Android Studio
Android Things
Android Wear
AndroidDevStory
androititlan
angelina jolie
Annotation
Announcements
anuncios
API
API Analytics YouTube
Apigee
APIs
Aplicaciones
aplicaciones chrome
app
app engine
App Indexing
app invites
App Server
applications
AppQuality
apps
Apps Script
AR
ARCore
arte
ATLAS
AWP
backend
Base64
batch
Bava
Betatesting
Better Ads Standars
bigdata
BigQuery
Biometrics
blink
bootcamp
BOT
BQ
Business
búsqueda ajax
by Google
byCases
byCommunity
byDevelopers
byGoogle
C++
CALENDAR
Cardboard
case
caso de éxito
Casos de éxito
casos destacados
CCOSS
Century Fox
chat
chrome
chrome web store
chromebook
chromecast
chromium
Cinéfilos
cloud
Cloud Anchors
CLOUD endpoints
Cloud Firestore
Cloud Functions
Cloud IoT Core
Cloud Next
Cloud Scheduler
Cloud services
cloud test lab
Cloud Text-to-Speech
Cloud Translation
CMD en vivo
coconut
code
code-in
code.org
CodeLabs
código
código abierto
Colab
colombia
Communities
Comunidades
concurso google
conference
contenedores
convocatoria
Coordinate
crashlytics
CRE
crear aplicaciones ajax
creatividad
Crowdsource
CSS
cws
daniela robles
dart
dart sdk
dartium
dartlang
Dataset
DCL
denis labelle
desarrolladores
Desarrolladores Google
desarrolladores LatAm
Desarrollar
Design
Design Sprint
Destacados
dev
Dev.f
DevArt
DevBus
DevBusLatAm
Developer Bus
Developer Summit
DeveloperConsole
developers
DevFest
devoxx
dialogflow
diseño UX
Distribuir
DNS
DOM
domain
DonkeyCar
doubleclick
Drive SDK
Drivers
ecommerce
ecosistema
elections
elizalde
Emoticons
emprendedores
empresas
engagement
english
Enhanced Campaigns
enterprise
eventos
Events
evolución de aplicaciones
Excel
ExpertosDicen
Faas
Family
FanBridge
FCM
FCP
Featured
fido
find people
Fintech
firebase
Firebase Cloud Messaging
firebase summit
flu trends
Flutter
Flutter 1.0
flutter 1.7
flutter developers
Flutter Live
FlutterLive
FoundersLab
Freebase
Fuction
Fuctions
Full-Stack
functional programming
G Suite Dev Show
G+
g+ goto gal
G+GotoGal
GAE
game
games
GCloud
gcm
GCP
GCS
GDA
GDE
GDG
GDH
GDL
GDLevent
GDS
Get Inspired
get.app
GitHub
GLP
gmail
golang
GOMO
Google
Google Accelerator
Google AdMob SDK
Google AdWords
Google Analytics
Google APIS
Google App Engine
Google Apps
Google Apps Script
Google Art Project
Google Assistant
google calendar
google cast
Google Charts
Google Chrome
Google Cloud
Google Cloud Console
Google Cloud Messaging
Google Cloud Next
Google Cloud Platform
Google Cloud Platform Newsletter
google cloud platforn
Google Cloud Storage
google code-in
Google Compute Engine
Google Dataset
Google Developer Groups
google developers
Google Developers Academy
google developers expert
Google Developers Hackademy
google dns
Google Drawings
Google Drive
Google Earth
Google for games
Google Forms
google geo
Google Home
google i/o
google i/o extended
google io
Google Keep
Google Kubernetes Engine
Google Launchapad
Google Launchpad
Google Maps
google maps coordinate
Google Maps Platform
Google Mexico
Google Nose
google now
Google Person Finder
google places api
Google Play
Google Play Books
Google Play Developer API
google play games
Google Play Movies
Google Play Protect
Google Play Services
Google Plus
Google Science Fair
google search
Google Sheets
google sign in
Google Top Geek
Google+
Google+ Communities
Google+ Hangouts
google+ sign-in
GoogleAPI
googlecloud storage
GoogleCloudPlatform
googledevs
GooglePlay
Googleplex
Goolge Lunchpad
GTG
Hackademy
hackers
Haiko
Haití
hangouts
Hangouts Remote Desktop
hardcode
Heello
honeycomb
HTML
HTML5
HTTPS
I/O
IA
IAM
IETF
IFAI
in app purchases
in-app
ingles
Ingress
instagram
integración de soluciones
interactive post
Interesante
International
International Women’s Day
IO
io15
io18
io19
iOS
IoT
istio
IU
IVR
J2EE
java
JavaScript
jelly bean
JS
JSON
Juegos
juegos html5
Kit ML
Knative
kotlin
kUBERNATES
Kubernetes
LATAM
latamRegionSur
Launchpad
Launchpad Studio
Lenovo Mirage Solo
lightbox
linux
lucero galindo
machine learning
Made with Code
Mapdata
Mapeo
maps
Maps Ad Unit
Maps API
Maps Engine
Market
Marketing
Marshmallow
MATERIAL DESIG
Material Design
mejores apps 2013
México
michelle marie
MIT
MIT Global Start-up Labs
MIT-AITI
ML
ML Kit
mobile
monetizar
mongoDB
MOOC
Motorola
Mountain View
móvil
MQTT
mr.white
mTLS
natalie villalobos
Navigation
NBA JAM
NES
Next Big Sound
Next Level
nfc
Niantic
Nik
NINTENDO
node.js
NoSQL
nube
OAuth2
Objective-C
OClock
open source
OPenApi
OS
OSS
Paas
PageSpeed
PagesSpeed
parallel18
patrones
patters
performance
permisos
Pipeline API
Pixability
pixel
Píxel
play
Play Console
Playtime
Podcast
pollito pio
Polymer
por lote
Posse
Prediction API
primer
Producto
programación
Propositos
Protocol Buffers
proyecto 20%
Push API
PYMES
python
Q
Q4
quickoffice
Rasberry Pi Zero WH
Raspberry Pi
Realtime
Reflectly
register
Release
Resources
robots.txt
Safe
SDK
Search
Security
seedbank
seguridad
SEO
servidores
Showyou
sign-in
SNES
SO
social media
Spain
SpLATAM
SQL
SQLite
Start
startup grind
Startup Launch
startup weekend
startup weekend for the planet
startupbus
startups
StayAtHome
story
Street View
subtitles
success
sw
SyScan
tablet
Tablet Optimization Tips
tabletas
takeaction
Tango
tendencias 2013
TensorFlow Developer Summit
testing
TextView
TF JAM
The Garage
The Venture City
tips G+
tips gmail
TLD
TLS
Top Experts
Top Geek
top level domain
TopExpert
topics
traducciones
Transparency Report
triggers
Tubular Labs
twilio
Tyka
TypeScript
UAC
udacity
ui
Umbrales
UNAM
unity
Unity3D
universal search
UX
Vector
VectorDrawable
video juegos
vidIQ
ViewPager
Visual Progress
Voicekit
VPC
VR
VSCode
web
Web hosting
Web móvil
WebAssembly
with google
Wizdeo
WizTracker
Women at Google
Women Techmakers
workmanager
WTM
XKCD
XML
Yifat Cohen
youtube
YouTube Analytics API
YouTube API
YouTube Data API
YouTube One Channel
YouTube Player API
Archive
2023
nov
oct
sept
ago
jun
may
abr
mar
ene
2022
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2021
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
2020
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2019
dic
nov
oct
sept
ago
jun
may
abr
mar
feb
ene
2018
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
2017
nov
sept
ago
jul
jun
may
abr
ene
2016
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2015
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2014
dic
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2013
dic
nov
oct
ago
jul
jun
may
abr
mar
feb
ene
2012
dic
nov
oct
sept
ago
jul
2011
nov
oct
may
mar
2010
dic
nov
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2009
dic
nov
sept
ago
jul
jun
may
abr
mar
feb
ene
2008
oct
sept
ago
jul
jun
may
abr
mar
feb
ene
2007
dic
Feed
Desarrolladores
Eventos y Comunidad
Casos Destacados
Dicen los Expertos
Google Accelerator