Las Novedades más Destacadas que trae Android Studio 3.6
En esta página:
- Nueva Opción para optimizar el tiempo de sincronización de Gradle
- Adjuntar fuentes de APK (Solo al generador de perfiles en Kotlin)
- Vista Dividida en Layout Editor y Navigation Editor
- Detectar pérdidas de memoria con Memory Profiler
- Icono Apply Changes
- Importa un APK actualizado
- Actualización del NDK (Native Development Kit)
- Actualización del complemento Gradle
- Enable Instant Apps Support (Opción en el menú)
- Desofuscar código de bytes de clase y método en el Analizador SPK
- Vincular Vista
- Descargas reanudables del SDK
- Actualización a IntelliJ IDEA 2019.2
- Toggle Offline Mode (Nueva ubicación de la opción)
- Video
- Nota(s)
Cerca a fin de mes de Febrero de 2020 se ha lanzado la versión de Android Studio 3.6, esta versión trae consigo interesantes mejoras y características como la de poder optimizar el tiempo para sincronizar un proyecto con Gradle, vista dividida en editores de diseño, vinculaciones de vista, detectar si hay perdida de memoria, etc. En este Post veremos los detalles de las nuevas características que trae esta versión de Android Studio.
Antes de continuar, por si no conoces sobre el Sistema Operativo Android y Android Studio, te recomiendo leer el artículo Que es Android y tu Primera aplicación Hola Mundo para que estés Familiarizado con este Post.
Voy a colocar el nombre de la Novedad, una descripción de la novedad y una imagen si es posible, de esta manera tendremos una mejor descripción de dicha novedad.
Nueva Opción para optimizar el tiempo de sincronización de Gradle
Cuando se llevaba acabo la sincronización de tareas en Gradle en versiones anteriores,algunas veces solía tomar demasiado tiempo, en Android Studio 3.6 ahora podemos mejorar este tiempo de sincronización, solo debemos ir a File > Settings > Experimental y activamos el check Do not build Gradle task list during Gradle sync
Al habilitar esta opción, Android Studio va a omitir la compilación de algunas tareas durante la sincronización, esto hace que la sincronización se lleve acabo más rápido. Debes considerar que cuando el IDE Android Studio omite compilar algunas tareas, la lista de tareas en el panel de Gradle estará vacía y el autocompletado del nombre de una tarea, no funciona.
Adjuntar fuentes de APK (Solo al generador de perfiles en Kotlin)
Ahora podemos adjuntar fuentes de APK externas, por el momento en Kotlin, al generar perfiles y depurar los APK que se compilen previamente.
Puedes seguir las siguientes instrucciones de la guía del usuario para adjuntar archivos Java (.java), pero selecciona archivos origen Kotlin (.kt)
Vista Dividida en Layout Editor y Navigation Editor
Los editores de Diseño Layout y Navigation, ahora brindan una vista Split, que permite al Desarrollador, ver las vistas Diseño y Código de una interface de la aplicación.
Para habilitar la vista Diseño y Código, debes hacer clic en el icono Split que se muestra en la imagen anterior.
Detectar pérdidas de memoria con Memory Profiler
Cuando se hace análisis a un volcado de memoria en Memory Profiler, ahora podemos filtrar los datos de los perfiles que Android Studio cree que pueden indicar pérdidas de memoria en las instancias Activity y Fragment de una aplicación o proyecto.
Los datos que se muestran al filtrar son:
- Las instancias Activity que se destruyeron y que todavía se hace referencia.
- Las instancias Fragment que no cuentan con un FragmentManager válido, pero aún se hace referencia.
En ciertas situaciones un filtrado puede generar falsos positivos:
- Al crear un Fragment que todavía no se usó.
- Al almacenar en caché un Fragment que no es parte de un FragmentTransaction.
Para poder hacer uso del análisis de perdida de memoria, primero se debe capturar un volcado o importar un archivo de volcado en Android Studio.
Luego para mostrar los Fragmentos y Actividades que pueden tener pérdidas de memoria se debe activar el check que dice Activity/Fragment Leaks en el panel de volcado de Memory Profiler
Icono Apply Changes
En esta nueva versión de Android Studio 3.6, ahora mientras estas corriendo una aplicación en un dispositivo o emulador aparece el icono Apply Code Changes
Al hacer clic en el icono Apply Code Changes se aplicaran los cambios que se hayan realizado en el proyecto, mientras estas corriendo una aplicación en un dispositivo o emulador.
Importa un APK actualizado
En Android Studio 3.6 ya no se necesita crear un nuevo proyecto cuando el APK del proyecto se actualiza fuera del IDE. Ahora Android Studio detecta cambios en el APK y brinda la opción de volver a importar el APK.
Actualización del NDK (Native Development Kit)
A continuación las actualizaciones que admiten el desarrollo nativo con los Lenguajes de Programación C y C++ en Android Studio
Compatibilidad con Kotlin
Las siguientes funciones del NDK que solo eran compatibles con Java, ahora tienen compatibilidad con Kotlin:
- Ahora puedes navegar desde una declaración JNI (Java Native Interface) hasta la función de implementación correspondiente en C y C++. Esta asignación la podemos ver al desplazarnos sobre el marcador del elemento C o C++ cerca del número de línea del código.
- Se puede crear automáticamente una función para implementar stub en una declaración JNI (Java Native Interface). Primero se define la declaración JNI y luego escribe “jni” o el nombre del método en el archivo C o C++ que se quiere habilitar.
- Ahora las funciones nativas que no son utilizadas, se destacan como advertencia en el código fuente y las declaraciones JNI que no estén completas también se destacan como error.
- Cuando renombramos o refactorizamos una función nativa, se actualizan todas las declaraciones JNI correspondientes.
- Asimismo se incluye una comprobación de firma para implementaciones JNI vinculadas implícitamente.
Mejoras en (Java Native Interface)
Cuando se implementan funciones en JNI, ahora se muestran sugerencias de tipo para parámetros y valores.
Esta versión de Android Studio brinda ayuda del método RegisterNatives, hace un autocompletado del nombre de un método, de los tipos de parámetros y el tipo de resultado
También podemos renombrar una refactorización del nombre de una método y comprobar firmas de funciones JNI vinculadas.
Hay mejoras en la asistencia con funciones en JNI, mejoras de autocompletado, inspección, navegación y cambio de nombre a la refactorización para la clase FindClass y los métodos GetMethodID, GetStaticMethodID, GetFieldID y GetStaticFieldID.
También lleva acabo inspecciones de Call[Static] type>Method, CallNonvirtual<type>Method, Get[Static]<type>Field y NewObject.
Actualización del complemento Gradle
La versión Android 3.6-alpha07 del complemento Gradle ahora es compatible con el complemento Gradle para Maven Publish el cual permite publicar artefactos de una compilación en un repositorio de Maven o Apache.
Ahora el complemento Gradle crea un componente para cada artefacto de una variante en la compilación de una App o módulo, el cual se puede usar para personalizar una publicación en un repositorio Maven.
Los componentes que crear el complemento Gradle van a depender de si el módulo usa el complemento Gradle o la biblioteca, tal como se describe en la siguiente tabla a continuación.
A continuación en el siguiente código se lleva acabo la creación de una publicación para las variantes de compilación de depuración y actualización de una biblioteca de AAR. En la creación de cada publicación se aplica el componente de coincidencia y personaliza los atributos del archivo pom.xml generado, como por ejemplo las coordenadas de Maven.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// Debido a que los componentes se crean solo durante la fase afterEvaluate, debes // configurar las publicaciones utilizando el método de ciclo de vida afterEvaluate (). afterEvaluate { publishing { publications { // Crea una publicación de Maven llamada "release". release(MavenPublication) { // Aplica el componente para la variante de compilación "release". from components.release // Luego puede personalizar los atributos de la publicación como se muestra a continuación. groupId = 'com.example.MyLibrary' artifactId = 'final' version = '1.0' } // Crea una publicación de Maven llamada "debug". debug(MavenPublication) { // Aplica el componente para la variante de compilación "debug". from components.debug groupId = 'com.example.MyLibrary' artifactId = 'final-debug' version = '1.0' } } } |
Para poder crear una publicación que realice la publicación de una App como un archivo ZIP de APK o como un AAB (Android App Bundle), debemos usar el componente adecuado como por ejemplo en el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
afterEvaluate { publishing { publications { paidRelease(MavenPublication) { // El siguiente código aplica un componente a esta publicación // que da como resultado la publicación de un paquete de aplicaciones. from components.paidRelease_aab groupId = 'com.example.MyApp' artifactId = 'paid-release-aab' version = '1.0' } paidDebug(MavenPublication) { // El siguiente código aplica un componente a esta publicación // que da como resultado la publicación de APK en un archivo ZIP. from components.paidDebug_apk groupId = 'com.example.MyApp' artifactId = 'paid-debug-apks' version = '1.0' } } } |
Luego de crear publicaciones, el complemento de Maven Publish crea tareas de publicación respectivas que se pueden usar publicar un artefacto en los repositorios que se les especifique.
Nueva Herramienta de empaquetado
Al usar el complemento Gradle para Android 3.6.0-alpha09 o versiones posteriores para compilar la versión de depuración de una App, el complemento usa ahora la herramienta de empaquetado zipflinger para compilar el APK.
Esta nueva herramienta proporciona mejoras en la velocidad de compilación y si tienes algún problema, puedes informar el error que ha sucedido, puedes volver a usar la herramienta de empaquetado anterior incluyendo la siguiente línea en el archivo gradle.properties
1 2 3 |
android.useNewApkCreator=false |
Enable Instant Apps Support (Opción en el menú)
Android Studio 3.6 ahora te permite habilitar el soporte de compatibilidad con Instant Apps o Aplicaciones Instantáneas.
Para habilitarlo has clic con el botón derecho del mouse sobre el directorio app y luego ve a Refactor > Enable Instant App Support
Luego en la venta que te aparece, selecciona el directorio app que es el módulo base de la aplicación y presiona ok.
Desofuscar código de bytes de clase y método en el Analizador SPK
Si inspeccionas archivos en formato DEX (Dalvik Executable), el analizador de APKs ahora te permite desofuscar el código de bytes de clase y método, para desofuscar el código de bytes, ve ea Build > Analyze APK
En la ventana que te aparece, selecciona el archivo APK que deseas inspeccionar y presiona ok
Ahora en el analizador de archivos DEX, puedes cargar un archivo de asignaciones de ProGuard haciendo clic en Load Proguard Mappings para el APK que estas analizando y haz clic en con el botón derecho del mouse sobre la clase o método que deseas inspeccionar y elige la opción Show bytecode.
Vincular Vista
Esta funcionalidad proporciona seguridad durante el tiempo de compilación cuando se hace referencia a vistas en el código. Ahora podemos reemplazar findViewById() con una referencia de clase de vinculación generada automáticamente, para usar la vinculación de vista, agrega la siguiente línea en el archivo build.gradle de cada módulo:
1 2 3 4 5 |
android { viewBinding.enabled = true } |
Si deseas saber más sobre la Vinculación de Vista puedes visitar la documentación oficial.
Descargas reanudables del SDK
Ahora cuando Android Studio descarga herramientas y componentes con el SDK Manager, las descargas que han sido interrumpidas, por ejemplo por un problema de conexión a Internet, estas descargas se pueden reanudar.
Esta funcionalidad ayuda mucho sobre todo con las descargas grandes como Android Emulator o imágenes del sistema que sin esta funcionalidad, se tendría que volver a descargar todo de nuevo.
Si hay una descarga de SDK que se esta ejecutando en segundo plano, se puede pausar o reanudar la descarga, mediante controles que aparecen en la barra de estado.
Actualización a IntelliJ IDEA 2019.2
Android Studio esta creado sobre el IDE IntelliJ IDEA y se han agregado actualizaciones a la versión IntelliJ IDEA 2019.2 como la ventana de herramientas de servicios y otras características nuevas que puedes consultar en el siguiente enlace.
Toggle Offline Mode (Nueva ubicación de la opción)
Ahora aparece el icono Toggle Offline Mode en la ventana Gradle, para abrir la ventana Gradle puedes ir a View > Tool Windows > Gradle y podrás ver el icono Toggle Offline Mode
Video
A continuación nuestros amigos de Android Developers, han publicado un video con las novedades de Android Studio 3.6 (Inglés)
Nota(s)
- Algunas opciones y paneles pueden dejar de existir o continuar en futuras versiones de Android Studio, esto no depende de nosotros si no de los Desarrolladores que dan soporte a estas herramientas en Android Studio.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Android
- 24-02-2020
- 25-02-2020
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)