Empaquetar aplicaciones móviles Android
En este artículo se describe cómo empaquetan aplicaciones de empresa de terceros los administradores de Citrix Endpoint Management y cómo empaquetan aplicaciones ISV los desarrolladores de software independientes. Para empaquetar aplicaciones móviles Android, use MDX Toolkit, que incluye una herramienta de interfaz gráfica de macOS y una herramienta de línea de comandos de Java. La herramienta de línea de comandos ofrece opciones de personalización, puede remitir a scripts que automatizan el proceso del empaquetado de aplicaciones y permite predefinir los parámetros de algunas directivas MDX.
El tipo de archivo de una aplicación empaquetada es MDX. El archivo .mdx se carga en la consola de Endpoint Management, que permite configurar datos concretos de las aplicaciones y definir los parámetros directiva que aplicará luego el almacén de Endpoint Management. Cuando los usuarios inician sesión, la aplicación aparece en el almacén. Por tanto, los usuarios pueden suscribirse, descargarla e instalarla en su dispositivo.
La siguiente imagen ofrece información general de los pasos necesarios para empaquetar una aplicación, desde la instalación de MDX Toolkit hasta la realización de pruebas de aplicaciones móviles de productividad. Los temas relacionados se muestran bajo el diagrama.
Para detalles sobre el número uno, consulte:
- Requisitos del sistema
- Otros requisitos para empaquetar aplicaciones móviles Android
- Compatibilidad de Endpoint Management
- Instalar MDX Toolkit
Para detalles sobre el número dos, consulte:
- Empaquetado de aplicaciones ISV Android mediante línea de comandos
- Empaquetado de aplicaciones Android de empresa mediante línea de comandos
- Opciones de comandos
- Preconfiguración de directivas MDX para aplicaciones Android
- Identificar errores en el empaquetado de aplicaciones Android
- Recopilar registros de aplicación desde la línea de comandos
- Agregar una aplicación MDX
Importante:
Compruebe que los dispositivos de los usuarios están actualizados a la versión de Secure Hub que es compatible con la versión de MDX Toolkit utilizado para empaquetar las aplicaciones. De lo contrario, los usuarios verán un mensaje de error donde se indica que hay una incompatibilidad. Para obtener más información, consulte Compatibilidad de Endpoint Management.
Empaquetado de aplicaciones ISV mediante interfaz gráfica
En los siguientes pasos se indica el proceso general para empaquetar una aplicación ISV que se implementará desde la tienda Google Play.
-
Para utilizar MDX Toolkit para empaquetar aplicaciones, no olvide realizar una copia de la versión original de esas aplicaciones, de modo que pueda volver a ellas si fuera necesario.
-
Inicie MDX Toolkit desde la carpeta de aplicaciones iOS, seleccione For Independent Software Vendors (ISVs) y, a continuación, haga clic en Next.
-
En la pantalla Deploy from App Store, seleccione la aplicación y haga clic en Next.
-
En la pantalla User Settings, introduzca la URL del almacén de aplicaciones si ya dispone de ella. Si no tiene la URL, introduzca un marcador de posición como
https://play.google.com/store/apps/details?id=com.citrix
. Podrá actualizar la dirección URL más adelante.Para las aplicaciones Premium, seleccione MDX Apps. Para las aplicaciones General, seleccione App Store apps.
-
En la pantalla Verify App Details, actualice los datos según sea necesario.
-
Vaya al almacén de claves y haga clic en Create.
-
Guarde la aplicación.
Cuando la herramienta termine el empaquetado de la aplicación, el nombre del archivo de la aplicación contendrá _andr.
Empaquetado de aplicaciones Android de empresa mediante línea de comandos
Puede utilizar el empaquetado de aplicaciones de empresa para empaquetar aplicaciones personalizadas (desarrolladas internamente) y algunas aplicaciones de terceros. En cuanto a las aplicaciones de terceros, deberá adquirirlas directamente del proveedor de estas. Para empaquetar aplicaciones de empresa, comience con una aplicación Android (.apk). Antes de utilizar MDX Toolkit para empaquetar aplicaciones, realice una copia de la versión original de esas aplicaciones, de modo que pueda volver a ellas si fuera necesario.
En el siguiente ejemplo se muestra un comando básico para el empaquetado de aplicaciones que se realiza con la configuración predeterminada. La aplicación se firma con el almacén de claves facilitado. Un almacén de claves es un archivo que contiene certificados usados para firmar las aplicaciones Android. Si el almacén de claves contiene varias claves privadas, puede especificar un alias para la clave relevante. El almacén de claves se crea una vez. A continuación, puede usar el almacén de claves para firmar las aplicaciones que empaquete. Si no usa el mismo almacén de claves para empaquetar la nueva versión de una aplicación ya implementada, las actualizaciones de esa aplicación no funcionarán. Los usuarios deberán eliminar manualmente la versión anterior para poder instalarse la nueva.
Modifique la información representada en negrita para adaptarla a su sistema concreto. La barra diagonal inversa representada al final significa que el comando continúa en la siguiente línea. Quite esos símbolos antes de ejecutar el comando.
Nota:
Como /Applications/ es un directorio restringido, es posible que deba ejecutar el siguiente comando en el modo de superusuario. Para ello, agregue sudo delante del comando. Se solicitará la contraseña del equipo cuando se ejecuta desde este directorio restringido.
java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar \
wrap \
-in ~/Desktop/SampleApps/Sample.apk \
-out ~/Desktop/SampleApps/Sample.mdx \
-keystore ~/Desktop/MyCompany.keystore \
-storepass MyKeystorePassword \
-keyalias MyCompanyKeyAlias \
-keypass MyKeyAliasPassword
<!--NeedCopy-->
A continuación se presentan ejemplos de opciones que puede agregar al comando anterior, después de modificar la información en negrita:
- -appName “Aplicación empaquetada de muestra”
- -appDesc “Esta es mi aplicación Android recién empaquetada”.
Además, si el almacén de claves de la versión no está disponible durante el desarrollo, utilice el siguiente comando para crear una compilación comercial de la aplicación móvil que está firmada con la clave:
java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar \
wrap \
-in ~/Desktop/SampleApps/Sample.apk \
-out ~/Desktop/SampleApps/Sample.mdx \
-keystore ~/Desktop/MyCompany.keystore \
-storepass MyKeystorePassword \
-keyalias MyCompanyKeyAlias \
-keypass MyKeyAliasPassword \
-createCert
<!--NeedCopy-->
Para obtener más información acerca de las opciones, consulte Opciones de comandos. Para obtener documentación en la línea de comandos, utilice la opción -help.
Empaquetado de aplicaciones ISV Android mediante línea de comandos
Para utilizar MDX Toolkit para empaquetar aplicaciones, no olvide realizar una copia de la versión original de esas aplicaciones, de modo que pueda volver a ellas si fuera necesario. Para generar aplicaciones ISV empaquetadas para Android, comience con el siguiente comando básico de empaquetado.
java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar \
wrap \
-in ~/Desktop/SampleApps/Sample.apk \
-out ~/Desktop/SampleApps/Sample.mdx \
-keystore ~/Desktop/MyCompany.keystore \
-storepass MyKeystorePassword \
-keyalias MyCompanyKeyAlias \
-keypass MyKeyAliasPassword \
-createCert
<!--NeedCopy-->
Para empaquetar una aplicación como aplicación de fabricante de software independiente (ISV), debe establecer el parámetro -apptype de la siguiente manera:
- Premium: Para empaquetar una aplicación como Premium (donde algunas directivas Citrix se aplican incluso en dispositivos de usuarios no administrados), agregue la opción -apptype Premium
- General: Para empaquetar una aplicación como General (donde no se aplican directivas de Citrix a usuarios no administrados), agregue la opción -apptype General
Si necesita cargar el archivo .apk empaquetado en Google Play Store o en un servidor web y ya dispone de la URL, agregue la opción -storeURL. Asegúrese de definir también el parámetro apptype.
-storeURL "https://play.google.com/store/apps/details?id=com.zenprise"
Si no conoce la URL en el momento de empaquetar, puede modificar el archivo MDX más tarde con el siguiente comando:
java -jar /Applications/Citrix/MDXToolkit/ManagedAppUtility.jar \
setinfo \
-in ~/Desktop/SampleApps/Sample.mdx \
-out ~/Desktop/SampleApps/wrapped/Sample.mdx \
-storeURL \
“https://play.google.com/store/apps/details?id=com.zenprise”
<!--NeedCopy-->
Si personalizó el archivo de directiva, debe modificarlo para que apunte al archivo modificado:
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
Para obtener más información acerca de las opciones, consulte Opciones de comandos. Para acceder a la documentación en línea, use la opción -help.
Opciones de comandos
comando wrap
- Help: Muestra la documentación de ayuda del comando.
- In: Obligatorio. Ruta y nombre del archivo de la aplicación que se empaqueta.
- Out: Optativo. Ruta y nombre para el archivo MDX resultante. Si se omite esta opción, el archivo tendrá el mismo nombre y la misma ruta que el archivo de entrada y tendrá la extensión MDX.
- AppType: Optativo. El valor predeterminado es MDXOnly. Para generar aplicaciones de ISV, use General o Premium.
- KeyStore: Ruta al archivo del almacén de claves. Necesario si se firma el archivo APK.
- StorePass: Contraseña del almacén de claves. Necesario si se firma el archivo APK.
- KeyAlias: Nombre de la clave específica que se encuentra en el almacén de claves. Necesario si se firma el archivo APK.
- KeyPass: Contraseña de la clave específica. Necesario si se firma el archivo APK.
- SigAlg: Optativo. Algoritmo que se utilizará para firmar.
- AppName: Optativo. Nombre de la aplicación obtenido de la aplicación, si es posible.
- AppDesc: Optativo. Descripción de la aplicación obtenido de la aplicación, si es posible.
- MinPlatform: Optativo. Nivel mínimo admitido de SDK. El valor predeterminado está vacío.
- MaxPlatform: Optativo. Nivel máximo admitido de SDK. El valor predeterminado está vacío.
- ExcludedDevices: Optativo. Lista de los tipos de dispositivo en que la aplicación no tiene permiso para ejecutarse. El valor predeterminado está vacío.
-
PolicyXML: Optativo. Ruta y archivo de definición de directivas XML de sustitución. El valor predeterminado son las definiciones integradas de las directivas. Ejemplo:
-policyxml/Applications/Citrix/MDXToolkit/data/policy_metadata.xml
Para obtener más información, consulte más adelante la sección de Preconfiguración de directivas MDX para aplicaciones Android.
- StoreURL: Para aplicaciones ISV, la dirección URL de la aplicación en la tienda Google Play. El valor predeterminado está vacío.
Comando sign
- Help: Muestra la documentación de ayuda del comando.
- In: Obligatorio. Ruta y nombre del archivo de la aplicación que se empaqueta.
- Out: Optativo. Ruta y nombre para el archivo MDX resultante. Si se omite esta opción, el archivo tendrá el mismo nombre y la misma ruta que el archivo de entrada y tendrá la extensión MDX.
- KeyStore: Obligatorio. Ruta al archivo del almacén de claves.
- StorePass: Obligatorio. Contraseña para el almacén de claves.
- KeyAlias: Obligatorio. Nombre de la clave específica que se encuentra en el almacén de claves.
- KeyPass: Obligatorio. Contraseña de la clave específica.
- SigAlg: Optativo. Algoritmo que se utilizará para firmar.
Comando setinfo
- Help: Muestra la documentación de ayuda del comando.
- In: Obligatorio. Ruta y nombre de la aplicación que se modificará.
- Out: Para setinfo, la ruta o el nombre del archivo de salida deben diferir del original.
- AppType: Optativo. El valor predeterminado es MDXOnly. Para generar aplicaciones de ISV, use General o Premium.
- KeyStore: Ruta al archivo del almacén de claves. Necesario si se firma el archivo APK.
- StorePass: Contraseña del almacén de claves. Necesario si se firma el archivo APK.
- KeyAlias: Nombre de la clave específica que se encuentra en el almacén de claves. Necesario si se firma el archivo APK.
- KeyPass: Contraseña de la clave específica. Necesario si se firma el archivo APK.
- SigAlg: Optativo. Algoritmo que se utilizará para firmar.
- AppName: Optativo. Nombre de la aplicación obtenido de la aplicación, si es posible.
- AppDes: Optativo. Descripción de la aplicación obtenido de la aplicación, si es posible.
- MinPlatform: Optativo. Nivel mínimo admitido de SDK. El valor predeterminado está vacío.
- MaxPlatform: Optativo. Nivel máximo admitido de SDK. El valor predeterminado está vacío.
- ExcludedDevices: Optativo. Lista de los tipos de dispositivo en que la aplicación no tiene permiso para ejecutarse. El valor predeterminado está vacío.
- StoreURL: Para aplicaciones ISV, la dirección URL de la aplicación en la tienda Google Play. El valor predeterminado está vacío.
-
PolicyXML: Optativo. Ruta y archivo de definición de directivas XML de sustitución. El valor predeterminado son las definiciones integradas de las directivas. Ejemplo:
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
Para obtener más información, consulte más adelante la sección de Preconfiguración de directivas MDX para aplicaciones Android.
Preconfiguración de directivas MDX para aplicaciones Android
Para las aplicaciones que se empaquetan con la herramienta de línea de comandos de MDX Toolkit, puede preconfigurar algunas directivas MDX. Asimismo, puede configurar las directivas desde la consola de Citrix Endpoint Management cuando agregue las aplicaciones.
-
Actualice los valores de directiva en el archivo XML de directiva.
El instalador de MDX Toolkit crea este archivo de directivas: Applications/Citrix/MDXToolkit/data/policy_metadata.xml
Nota:
Tenga en cuenta que los archivos de directivas para Android son diferentes de los archivos de directivas para iOS. Si quiere preconfigurar directivas para ambas plataformas, debe actualizar sus archivos XML de directiva correspondientes.
-
Cuando empaquete la aplicación con la línea de comandos, incluya
-policyxml /Applications/Citrix/MDXToolkit/data/policy_metadata.xml
Identificar errores en el empaquetado de aplicaciones Android
Si se produce un error al empaquetar una aplicación Android, puede usar los registros de MDX Toolkit para identificarlo. Debe tener privilegios de administrador para ver los registros de MDX Toolkit.
Cuando ejecuta MDX Toolkit, la herramienta guarda automáticamente un archivo de registro en la siguiente ubicación: Applications/CitrixMDXToolkit/Logs/Citrix.log. De forma predeterminada, la herramienta guarda las advertencias y los errores en el registro.
Recopilar registros de aplicación desde la línea de comandos
- Instale Android Debug Bridge desde el sitio web de desarrolladores de Android. Para obtener más información, consulte Android Debug Bridge.
- Escriba el comando siguiente para borrar los registros existentes: “adb logcat -c”
- Reproduzca el problema.
- Escriba el comando siguiente para capturar los registros en un archivo: adb logcat -d > Name_of_Log_File.txt
En este artículo
- Empaquetado de aplicaciones ISV mediante interfaz gráfica
- Empaquetado de aplicaciones Android de empresa mediante línea de comandos
- Empaquetado de aplicaciones ISV Android mediante línea de comandos
- Opciones de comandos
- Preconfiguración de directivas MDX para aplicaciones Android
- Identificar errores en el empaquetado de aplicaciones Android
- Recopilar registros de aplicación desde la línea de comandos