Intereting Posts
Android – не удается разрешить символ "R" Firebase на Android – я хочу отключить уведомления о Firebase на клиенте Android Android, что должно быть точкой поворота для поворота изображения вокруг его центра базы Непритязание вытяжного устройства для AngularApple () не работает на угловом webapp (appium / chrome на реальном устройстве) Как показать Spinner With Label (Статический текст)? Android sdk Content Loader столкнулся с проблемой Как передать значения Hex в строку – Android Как использовать adb с genymotion на mac? Android.support.v7.widget.GridLayout не может заставить его работать Error: Ошибка получения родительского элемента для элемента: не найден ресурс, который соответствует указанному имени «Widget.AppCompat.ActionButton» Разделение динамического экрана Android Удалить уведомление, когда служба была уничтожена ОС Android Запуск Java-байт-кода на Android – Sun JVM поверх DalvikVM Не удается открыть URL-адрес twitter в веб-обозревателе Android Android: кнопка «Радио» в пользовательском списке

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 .

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