versiones services play google gms auth android gradle google-play apache-commons android-gradle

auth - implementation com google android gms play services



Google Play "Plataformas nativas" que muestra commons-io-2.4.jar (2)

Acabo de encontrar un problema muy extraño en el que una compilación de mi aplicación, para su distribución a través del canal beta de Google Play, se negaba a implementarse en cualquier dispositivo. Algunas investigaciones y un poco de ayuda de Google revelaron que el problema era este, al profundizar en el detalle de APK en la consola de Google Play:

¿Qué pudo haber causado eso? Así es como se especificó la dependencia en mi build.gradle :

compile ''org.apache.directory.studio:org.apache.commons.io:2.4''

y el APK fue construido así:

gradle clean gradle assembleMarketRelease

Donde el market es uno de los sabores del producto. La aplicación se instala y funciona bien cuando está cargada lateralmente.

Resolví el problema eliminando esa dependencia y reimplementando la funcionalidad que faltaba, y ahora la aplicación se está implementando como se esperaba. Pero me gustaría entender el problema subyacente. ¿Especifiqué la dependencia incorrectamente? ¿Construí incorrectamente?

Relacionado : la consola para desarrolladores de Google Play muestra DS_Store en la sección de plataformas nativas de Apk cargado


EDITAR: La respuesta de Pang es realmente correcta https://.com/a/28759797/1436766 . Mantendré esta respuesta ya que resolvió un problema similar.

Me enfrentaba al mismo problema hoy. Cargué mi apk, y la consola me dijo que tenía una plataforma nativa ''joda-convert-1.5.jar''. Sorprendentemente, no estaba usando ese tarro directamente en ninguna parte. Después de investigar, descubrí que el tarro estaba siendo usado por otra biblioteca que estaba usando. Y estaba en la carpeta ''lib'' de ese frasco. Desde que tenía el código fuente de esa biblioteca, recompilé esa biblioteca colocando ese ''joda-convert-1.5.jar'' en la carpeta ''libs''. Y limpiado y recompilado mi aplicación. Todo fue arreglado.

Parece que cualquier cosa en una carpeta ''lib'' se ve como una biblioteca nativa, y por lo tanto la consola de desarrolladores lo muestra así. Asegúrese de que las bibliotecas están en la carpeta ''libs''.

Espero que esto ayude.