NoClassDefFoundError en Runtime en clase dentro de .AAR en Android Studio

He estado investigando durante muchas horas acerca de una posible solución a esto, pero lo que sea que lo intente simplemente falla. Aquí está la situación explicada:

Tengo este proyecto de biblioteca en Android Studio que genera el archivo app-debug.aar . A continuación, agrego este nuevo módulo en el proyecto de implementación, siguiendo el asistente para importar .JAR / .AARs. Recojo la aplicación .aar y actualizo la dependencia para :app en la estructura del proyecto.

Una vez que el proyecto se limpia (incluso usando ./gradlew clean Mac OS X) puedo hacer referencias de esta clase y sus métodos en cualquiera de las actividades.

Ahora, en tiempo de ejecución, una vez construido e instalado en los dispositivos reales, la aplicación se bloqueará lanzando la Excepción de tiempo de ejecución antes mencionada.

Nota: Estoy importando el .aar porque necesitaría proteger el código y tiene recursos para que un .jar esté fuera de la cuestión. Y si importar el módulo de biblioteca (con fuente y todos en lugar de un .aar ), entonces la aplicación no tiene problemas en tiempo de ejecución.

He intentado todo y si alguien puede arrojar algo de luz sobre lo que podría ser, será muy apreciado.

La clase extiende ViewGroup y se instancia en tiempo de ejecución en caso de que implique algo. El código se me dio para que los cambios importantes podrían no ser posible a menos que sea absolutamente necesario.

Gracias de antemano a todos!

Armando

El error NoClassDefFound ha sucedido realmente a una biblioteca de compatibilidad con versiones anteriores utilizada por esta clase que mencioné en la pregunta ("Clase A"). No se dieron otros detalles aparte de la clase A no se pudo encontrar y más tarde se descubrió que otra clase tenía un problema similar, pero estaba apuntando a que compat lib con la misma excepción y me di cuenta de que la clase A también estaba llamando a sus métodos y la aplicación de su devoluciones de llamada Al superar la min version (para usar la API nativa) podría superar ese problema. En realidad era un problema de incluir esa biblioteca backward-comp en el .aar o así parece. Si entiendo mejor este tema, actualizaré esta "respuesta".

Para aquellos que todavía están buscando la solución, siguiendo dos opciones funcionó para mí para resolver el mismo problema que el OP ha mencionado.

  • Incluya también la dependencia de la biblioteca (problemática) en el módulo de destino, es decir, en mi caso incluyo el protobuf-lite como una dependencia de mi módulo de biblioteca pero obteniendo el error noclassdefFound cuando lib importado como .aar en el módulo de aplicación. Como una solución, protobuf-lite añadido la protobuf-lite a mi módulo de aplicación también y funcionó como encanto.

  • La segunda opción que trabajó para mí que en lugar de añadir la dependencia gradle 'compilar' com.google.protobuf: protobuf-lite: 3.0.1 ', he descargado el protobuf-jar de maven y agregado manualmente a las librerías de mi módulo de biblioteca, y el problema se resolvió.

No sé qué es lo que está mal con el plugin gradle, pero espero que ayude a alguien buscando el mismo problema.

  • Dibuja una línea con bordes curvos en Android
  • ¿Cómo instalar SunJCE en Android?
  • Crear archivo de tipo android de Uri
  • Android + java.lang.NullPointerException: Intenta invocar el método de interfaz
  • Agitar dispositivo para iniciar la aplicación
  • Cambiar mapa de bits Color con función
  • ¿Cuándo / por qué se destruye mi instancia de singleton de Java?
  • Devolver todas las columnas de una tabla SQLite en Android
  • Evite la excepción de seguridad al acceder a DownloadProvider
  • La excepción nula captura
  • Marcadores no mostrados en el estilo MapView en Mapxbox Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.