Intereting Posts
Я хочу получать и просматривать sms-разговоры? Android Studio показывает, что ограничение inotify предупреждения слишком низкое Выполнение запросов в реальном времени с двумя условиями одновременно Добавить значение с плавающей запятой в ресурсы и значения Android Очереди нескольких модификаторов сущностей в AndEngine Где я должен объявлять свои переменные? Параллакс изображения при прокрутке Android: элемент RecyclerView, если он установлен на блокируемые блокировки событий onTouch Возможно ли сосредоточить макет / представление внутри CoordinatorLayout? Как именно JVM отличается от Dalvik и / или ART? Как загрузить сервисы Google Play в эмулятор Android? Максимальное количество 9000 символов в Android TextView? Может ли IME (мягкая клавиатура) получить имя приложения, используя его? Трехточечное меню переполнения действий в панели действий? Как остановить запуск, когда приложение переходит на задний план?

Android Studio: разрешение повторяющихся классов

Когда я пытаюсь run приложение для Android на устройстве Android, консоль градации сообщает о следующей ошибке:

 Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/loopj/android/http/AsyncHttpClient$1.class 

Когда я ищу класс «AsyncHttpClient», я вижу, что он действительно находится в двух разных местах:

 /Users/Afflatus/.gradle/caches/modules-2/files-2.1/com.loopj.android/android-async-http/1.4.9/5d171c3cd5343e5997f974561abed21442273fd1/android-async-http-1.4.9-sources.jar!/com/loopj/android/http/AsyncHttpClient.java /Users/Afflatus/.ideaLibSources/android-async-http-1.4.9-sources.jar!/com/loopj/android/http/AsyncHttpClient.java 

Первый путь, кажется, предполагает, что это «кеш-файл» … поэтому я попытался invalidating & restarting my cache , но оба файла все еще существуют после того, как градиль будет восстановлен, и я пытаюсь run приложение. Я читал в альтернативных сообщениях, что его можно решить, удалив один из файлов … Поэтому я перешел в папку кэша и удалил все файлы, найденные в папке «1.4.9» … к сожалению, после повторного открытия Android Studio , Создается новый файл кэша, и я получаю ту же ошибку.

Другие сообщения ( здесь , здесь , здесь и здесь ) предлагают, если я добавлю «./gradlew clean» в корневой каталог, он снова восстановит граду только для запуска (насколько я понимаю). Поэтому я тоже попытался это сделать:

Введите описание изображения здесь

Что сделало папку моего приложения выглядеть так:

Введите описание изображения здесь

Но, к сожалению, это не помогло, я все равно получаю ту же ошибку. Что я делаю не так? Что я должен делать?

В моем случае я использую sensorocloud.jar и compile 'com.loopj.android:android-async-http:1.4.9' в моей градиенте, которая вызвала ту же ошибку, что и ваша. Поскольку сенсорный облачный SDK использовал async-http loopj.

Мне удалось решить эту проблему, вручную удалив дубликаты файлов .class в файле jar. (т.е.

  1. Изменение расширения от jar до zip
  2. Извлекать его
  3. Удалите .class com.loopj.android .class )

(PS Я попытался выполнить поиск в Интернете, чтобы узнать, могу ли я исключить определенный класс jar в градиенте, но не получится, например, я ссылался на эту запись SO )

Потому что вы добавили несколько библиотек два раза в папку libs , это может случиться, когда у вас есть несколько версий одной и той же библиотеки в папке libs . Проверьте его и удалите любой дубликат файла jar.

И вторым вариантом может быть вы также добавили зависимость в gradle.build а также gradle.build jar в папку libs .

Поэтому проверьте оба места и удалите повторяющиеся записи, а затем очистите и создайте APK .

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