Google Play «Родные платформы», показывающие commons-io-2.4.jar

Я только что столкнулся с очень странной проблемой, когда сборка моего приложения для распространения через бета-канал Google Play отказывалась от развертывания на любых устройствах. Некоторое расследование и некоторая помощь Google показали, что проблема была в том, что при сверлении до детали APK на консоли Google Play:

Снимок экрана консоли Google Play

Что могло быть причиной этого? Вот как была определена зависимость в моем build.gradle :

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

И APK был построен следующим образом:

 gradle clean gradle assembleMarketRelease 

Где market является одним из продуктов вкусов. Приложение устанавливается и работает отлично, когда загружено боковое.

Я работал над проблемой, удалив эту зависимость и переопределив недостающую функциональность самостоятельно, и теперь приложение развертывается, как ожидалось. Но я хотел бы понять основную проблему. Я неправильно задал зависимость? Я неправильно построил?

Связано : консоль разработчика Google Play показывает раздел DS_Store в разделе «Нативные платформы» загруженного Apk

Solutions Collecting From Web of "Google Play «Родные платформы», показывающие commons-io-2.4.jar"

EDIT: Ответ Pang на самом деле правильный https://stackoverflow.com/a/28759797/1436766 . Я сохраню этот ответ, так как он разрешил подобную проблему.

Сегодня я столкнулся с таким же вопросом. Я загрузил свой apk, и консоль рассказала мне, что apk имеет собственную платформу «joda-convert-1.5.jar». Удивительно, но я не использовал эту банку прямо. После исследования я узнал, что банку использовали другую библиотеку, которую я использовал. И это было в папке «lib» этой банки. Поскольку у меня был исходный код этой библиотеки, я перекомпилировал эту библиотеку, поместив эту «joda-convert-1.5.jar» в папку «libs». И очистил и перекомпилировал приложение. Все было исправлено.

Кажется, что все в папке «lib» рассматривается как родная библиотека, и, следовательно, консоль разработчика показывает это так. Убедитесь, что библиотеки находятся в папке «libs».

Надеюсь это поможет.

Я исправил его, заменив

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

с

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

В build.gradle.


Я нашел это так:

  1. Найдите «maven apache commons io» .
  2. Найдите страницу репозитория Maven для Apache Commons IO 2.4 .
  3. Нажмите на вкладку Gradle, в которой говорится: 'commons-io:commons-io:2.4' .