Preparación de aplicaciones Android para directivas de protección de aplicaciones con el Intune App Wrapping Tool
Use la Microsoft Intune App Wrapping Tool para Android para cambiar el comportamiento de las aplicaciones de Android internas mediante la restricción de las características de la aplicación sin cambiar el código de la propia aplicación.
La herramienta es una aplicación de línea de comandos de Windows que se ejecuta en PowerShell y crea un contenedor alrededor de la aplicación Android. Una vez ajustada la aplicación, puede cambiar la funcionalidad de la aplicación mediante la configuración de directivas de administración de aplicaciones móviles en Intune.
Antes de ejecutar la herramienta, revise Consideraciones de seguridad para ejecutar el App Wrapping Tool. Para descargar la herramienta, vaya a la Microsoft Intune App Wrapping Tool para Android en GitHub.
Nota:
Si tiene problemas con el uso de la Intune App Wrapping Tool con las aplicaciones, envíe una solicitud de ayuda en GitHub.
Cumplir los requisitos previos para usar el App Wrapping Tool
La aplicación debe usar bibliotecas actualizadas
La aplicación debe ser compatible con los requisitos de Google Play
Si la aplicación es compleja, debe integrarse con Intune App SDK para Android.
Debe ejecutar el App Wrapping Tool en un equipo Windows que ejecute Windows 10 o posterior.
La aplicación de entrada debe ser un paquete de aplicación Android válido con la extensión de archivo .apk y:
- No se puede cifrar.
- El Intune App Wrapping Tool no debe haber ajustado previamente.
- Debe escribirse para Android 9.0 o posterior.
Nota:
Si la aplicación de entrada es un paquete de aplicaciones de Android (.aab), tendrás que convertirlo en un APK antes de usar el Intune App Wrapping Tool. Para obtener más información, consulta Conversión de Android App Bundle (AAB) a APK. A partir de agosto de 2021, las nuevas aplicaciones privadas todavía se pueden publicar en Google Play Store como APK.
La aplicación debe ser desarrollada por o para su empresa. No puedes usar esta herramienta en aplicaciones que están disponibles en Google Play Store. Esto incluye descargar u obtener la aplicación de Google Play Store.
Para ejecutar el App Wrapping Tool, debe instalar la versión más reciente de Java Runtime Environment y, a continuación, asegurarse de que la variable de ruta de acceso de Java se ha establecido en C:\ProgramData\Oracle\Java\javapath en las variables de entorno de Windows. Para obtener más ayuda, consulte la documentación de Java.
Nota:
En algunos casos, la versión de 32 bits de Java puede dar lugar a problemas de memoria. Es una buena idea instalar la versión de 64 bits.
Android requiere que se firmen todos los paquetes de aplicaciones (.apk). Para reutilizar los certificados existentes y la guía general de certificados de firma, consulte Reutilización de certificados de firma y ajuste de aplicaciones. Después de encapsular el archivo .apk mediante el Intune App Wrapping Tool, la recomendación es usar la herramienta Apksigner proporcionada por Google. Esto garantizará que, una vez que la aplicación llegue a los dispositivos del usuario final, se pueda iniciar correctamente según los estándares de Android.
(Opcional) A veces, una aplicación puede alcanzar el límite de tamaño del ejecutable dalvik (DEX) debido a las clases Intune SDK de MAM que se agregan durante el ajuste. Los archivos DEX forman parte de la compilación de una aplicación Android. El Intune App Wrapping Tool controla automáticamente el desbordamiento de archivos DEX durante el ajuste de aplicaciones con un nivel de API mínimo de 21 o superior (a partir de la versión 1.0.2501.1). En el caso de las aplicaciones con un nivel mínimo de API de < 21, el procedimiento recomendado sería aumentar el nivel mínimo de API mediante la marca del
-UseMinAPILevelForNativeMultiDex
contenedor. Para los clientes que no pueden aumentar el nivel mínimo de API de la aplicación, están disponibles las siguientes soluciones alternativas de desbordamiento de DEX. En determinadas organizaciones, esto puede requerir trabajar con quien compile la aplicación (es decir, el equipo de compilación de la aplicación):- Use ProGuard para eliminar las referencias de clase no utilizadas del archivo DEX principal de la aplicación.
- Para los clientes que usan la versión 3.1.0 o posterior del complemento Gradle de Android, deshabilite el dexer D8.
¿Con qué frecuencia debo volver a encapsular mi aplicación Android con el Intune App Wrapping Tool?
Los escenarios principales en los que tendría que volver a encapsular las aplicaciones son los siguientes:
La propia aplicación ha lanzado una nueva versión. La versión anterior de la aplicación se envolvió y cargó en el centro de administración de Microsoft Intune.
La Intune App Wrapping Tool para Android ha lanzado una nueva versión que permite correcciones de errores clave o nuevas características específicas Intune directiva de protección de aplicaciones. Esto sucede cada 6-8 semanas a través del repositorio de GitHub para la Microsoft Intune App Wrapping Tool para Android.
Entre los procedimientos recomendados para volver a realizar la reasignación se incluyen los siguientes:
- Mantenimiento de los certificados de firma usados durante el proceso de compilación, consulte Reutilización de certificados de firma y ajuste de aplicaciones
Instale el App Wrapping Tool
En el repositorio de GitHub, descargue el archivo de instalación InstallAWT.exe de la Intune App Wrapping Tool para Android en un equipo Windows. Abra el archivo de instalación.
Acepte el contrato de licencia y, a continuación, finalice la instalación.
Tenga en cuenta la carpeta en la que instaló la herramienta. La ubicación predeterminada es: C:\Archivos de programa (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.
Ejecute el App Wrapping Tool
Importante
Intune publica periódicamente las actualizaciones de la Intune App Wrapping Tool. Compruebe periódicamente el Intune App Wrapping Tool para Android para ver si hay actualizaciones e incorpore en el ciclo de lanzamiento de desarrollo de software para asegurarse de que las aplicaciones admiten la configuración más reciente de la directiva de protección de aplicaciones.
En el equipo Windows donde instaló la App Wrapping Tool, abra una ventana de PowerShell.
En la carpeta donde instaló la herramienta, importe el módulo de PowerShell App Wrapping Tool:
Import-Module .\IntuneAppWrappingTool.psm1
Ejecute la herramienta mediante el comando invoke-AppWrappingTool , que tiene la siguiente sintaxis de uso:
Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
En la tabla siguiente se detallan las propiedades del comando invoke-AppWrappingTool :
Propiedad | Information |
---|---|
-InputPath<Cuerda> | Ruta de acceso de la aplicación android de origen (.apk). |
-OutputPath<Cuerda> | Ruta de acceso a la aplicación Android de salida. Si se trata de la misma ruta de acceso de directorio que InputPath, se producirá un error en el empaquetado. |
<CommonParameters> | (Opcional) El comando admite parámetros comunes de PowerShell, como detallado y depuración. |
Para obtener una lista de parámetros comunes, consulte el Centro de scripts de Microsoft.
Para ver información detallada sobre el uso de la herramienta, escriba el comando :
Help Invoke-AppWrappingTool
Ejemplo:
Importe el módulo de PowerShell.
Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"
Ejecute el App Wrapping Tool en la aplicación nativa HelloWorld.apk.
invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose
La aplicación encapsulada y un archivo de registro se generan y guardan en la ruta de acceso de salida especificada.
Reutilización de certificados de firma y ajuste de aplicaciones
Android requiere que todas las aplicaciones estén firmadas por un certificado válido para poder instalarse en dispositivos Android.
Las aplicaciones encapsuladas se pueden firmar después de ajustarlas con las herramientas de firma existentes (cualquier información de firma de la aplicación antes de que se descarte el ajuste). Si es posible, se debe usar la información de firma que ya se usó durante el proceso de compilación durante el ajuste. En determinadas organizaciones, esto puede requerir trabajar con quien sea propietario de la información del almacén de claves (es decir, el equipo de compilación de la aplicación).
Si no se puede usar el certificado de firma anterior o la aplicación no se ha implementado antes, puede crear un nuevo certificado de firma siguiendo las instrucciones de la Guía para desarrolladores de Android.
Si la aplicación se ha implementado anteriormente con un certificado de firma diferente, la aplicación no se puede cargar en Intune después de la actualización. Los escenarios de actualización de la aplicación se romperán si la aplicación está firmada con un certificado diferente al que se crea con la aplicación. Como tal, se deben mantener los nuevos certificados de firma para las actualizaciones de aplicaciones.
Consideraciones de seguridad para ejecutar el App Wrapping Tool
Para evitar posibles ataques de suplantación de identidad, divulgación de información y elevación de privilegios:
Asegúrese de que la aplicación de línea de negocio (LOB) de entrada y la aplicación de salida están en el mismo equipo Windows donde se ejecuta el App Wrapping Tool.
Importe la aplicación de salida a Intune en la misma máquina donde se ejecuta la herramienta. Consulte keytool para obtener más información sobre keytool de Java.
Si la aplicación de salida y la herramienta están en una ruta de acceso de convención de nomenclatura universal (UNC) y no está ejecutando la herramienta y los archivos de entrada en el mismo equipo, configure el entorno para que sea seguro mediante la firma de seguridad de protocolo de Internet (IPsec) o bloque de mensajes del servidor (SMB).
Asegúrese de que la aplicación procede de un origen de confianza.
Proteja el directorio de salida que tiene la aplicación encapsulada. Considere la posibilidad de usar un directorio de nivel de usuario para la salida.
Conversión de Android App Bundle (AAB) en APK
Actualmente, el Intune App Wrapping Tool solo admite entradas APK. Los paquetes de aplicaciones de Android primero deben convertirse en un APK para su uso con la herramienta.
Un paquete de aplicaciones de Android se puede convertir en un APK mediante la herramienta de línea de comandos de Google, bundletool
. La versión más reciente de bundle-tool
se puede descargar desde el repositorio de GitHub bundletool de Google.
bundletool
se puede usar para generar un único APK universal para su uso con el Intune App Wrapping Tool mediante el siguiente comando:
bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks
El .apks
archivo de salida es un archivo ZIP que contiene un único archivo APK universal. Descomprima el archivo y use ese archivo APK como entrada para el Intune App Wrapping Tool.