2014-02-13 11 views
17

Ich bin gerade auf ein sehr seltsames Problem gestoßen, bei dem ein Build meiner App zur Verteilung über den Beta-Kanal von Google Play die Bereitstellung auf allen Geräten verweigerte. Einige Untersuchungen und etwas Hilfe von Google ergaben, dass das Problem war dies, wenn sie auf das APK Detail in der Google-Konsole spielen Drilldown:Google Play "Native Plattformen" zeigt commons-io-2.4.jar

screenshot of Google Play console

Was das verursacht haben könnte? Dies ist, wie die Abhängigkeit in meinem build.gradle angegeben wurde:

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

und die APK wurde gebaut:

gradle clean 
gradle assembleMarketRelease 

wo market eines des Produkt Aromen ist. Die App wird installiert und läuft gut, wenn sie geladen wird.

Ich habe das Problem behoben, indem ich diese Abhängigkeit löste und die fehlenden Funktionen selbst neu implementierte. Jetzt wird die App wie erwartet bereitgestellt. Aber ich würde gerne das zugrunde liegende Problem verstehen. Habe ich die Abhängigkeit falsch angegeben? Habe ich falsch gebaut?

Verwandte: Google play developer console shows DS_Store in Native Platforms section of uploaded Apk

+0

Sie können diese Antwort überprüfen, kann es Ihr Problem lösen: https: // stackoverflow.com/a/48628062/4675055 –

Antwort

0

EDIT: Die Antwort von Pang ist eigentlich richtig https://stackoverflow.com/a/28759797/1436766. Ich werde diese Antwort behalten, da sie ein ähnliches Problem gelöst hat.

Ich hatte heute das gleiche Problem. Ich habe meine Apk hochgeladen und die Konsole hat mir gesagt, dass die Apk eine native Plattform "joda-convert-1.5.jar" hat. Überraschenderweise habe ich das Glas nirgends direkt benutzt. Nach Recherchen fand ich heraus, dass das Glas von einer anderen Bibliothek benutzt wurde, die ich benutzte. Und es war im 'lib' Ordner dieses Glases. Da ich den Quellcode dieser Bibliothek hatte, habe ich diese Bibliothek neu kompiliert, indem ich diese 'joda-convert-1.5.jar' in den Ordner 'libs' gestellt habe. Und gereinigt und neu kompiliert meine App. Alles war behoben.

Es scheint, dass alles in einem 'lib' Ordner als Native Library angesehen wird, und daher zeigt die Entwickler Konsole es so. Stellen Sie sicher, dass sich die Bibliotheken im Ordner 'libs' befinden.

Hoffe, das hilft.

+1

Die höher gewählte Antwort ist eigentlich richtig, er hatte bereits eine Compile-Direktive der commons-io-Bibliothek in der Frage. Das ist das Gleiche wie im lib-Verzeichnis (vorausgesetzt, Sie fügen alles in die lib ein). – ddipasquo

25

ich es fixiert

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

mit

compile 'commons-io:commons-io:2.4' 

in build.gradle ersetzen.


fand ich es wie folgt aus:

  1. Suche "maven apache commons io".
  2. Suchen the Maven repository page for Apache Commons IO 2.4.
  3. Klicken Sie auf die Registerkarte Gradle, die besagt: 'commons-io:commons-io:2.4'.
+2

Sie sind die Bombe Diggity! Ich wollte gerade meinen Monitor aus meinem Fenster werfen ... –

+2

+ Eine Million !!! Niemals hätte das ohne diese Antwort gelöst. – user1021430

+2

Mann danke !! Das war das Problem. – samatron