Guía de resolución de problemas de encapsulado de app de Android

Este tema describe los problemas comunes que puede encontrar durante el encapsulado de la aplicación y cómo solucionar esos problemas.

Error o excepción Resumen Método alternativo
ERROR_APP_COMPLIANCE_D8 = -24 MaaS360® actualmente no da soporte a las aplicaciones de encapsulado compiladas con el dexer D8 . Elija una de las siguientes opciones para inhabilitar la comprobación de D8:
  • Vaya al archivo gradle.properties en Android Studio, establezca android.enableD8 en false, y vuelva a compilar la aplicación.
  • Establezca el parámetro disableD8Check en false en MaaS360. Nota: Cuando inhabilita la comprobación de D8, puede encontrarse cambios en el comportamiento de la aplicación encapsulada.
USES_64_BIT_LIBRARY_ERROR_CODE = -1 El cifrado no está admitido en aplicaciones que utilizan bibliotecas nativas (so) de 64 bits. Elimine todas las bibliotecas de 64 bits en el archivo .apk y, a continuación, encapsule la aplicación de nuevo.
USES_64_BIT_LIBRARY_WITH_ANALYTICS_ERROR_CODE = -5 El análisis de la app no se admite en aplicaciones que utilizan bibliotecas nativas (so) de 64 bits. Inhabilite el análisis de app y, a continuación, vuelva a encapsular la aplicación de nuevo. Para inhabilitar el análisis de la aplicación:
  1. Inicie sesión en el portal MaaS360 y vaya a Apps > Catalog > Add > Android > Enterprise App for Android > Wrapping and Signing workflow.
  2. Borre la opción Habilitar análisis de app.
USES_SQLCIPHER_ANALYTICS_ERROR_CODE = -8 El análisis de la app no se admite en aplicaciones que utilizan SQLCipher versión 2.x y 3.x para el cifrado. Utilice SQLCipher versiones posteriores a 3.x y, a continuación, encapsule la aplicación de nuevo.
ERROR_OCCURRED_WHILE_GENERATING_SPLIT_DEX_CLASSES = -21 MaaS360 genera una excepción si la aplicación contiene numerosas bibliotecas. MaaS360 da soporte a características como, por ejemplo, dividir dex y multidex para superar estos escenarios, pero se desencadena una excepción cuando el número de archivos de clase referenciados en los archivos DEX supera el límite permitido a pesar de particionar los archivos DEX. Utilice el parámetro packagesToRemove en el portal de MaaS360 para eliminar determinados paquetes del archivo APK final como, por ejemplo, bibliotecas de soporte y servicios de reproducción innecesarios. Ejemplo: packagesToRemove=com.sun,com.apple
ClassNotFoundException, NoClassDefFoundError Cuando se utiliza la biblioteca Retrofit, el método responseBodyConverter de la biblioteca genera las excepciones siguientes. Establezca protectRetrofitMethod=true para evitar la excepción.

Resolución de problemas

Si la pasarela no funciona, asegúrese de que ProGuard no se aplica a la biblioteca OkHttp3.