Подтвердить что ты не робот

Пакета android.support.v4.util не существует

Со времени последнего обновления для библиотек поддержки Android у меня возникают проблемы с импортом LruCache. Eclipse, а теперь даже андроид-студия, продолжайте говорить, что пакет android.support.v4.util не существует.

Я использую actionbarsherlock, и он включил поддержку android v4 и не показывает ошибок. Мое приложение отлично работало до последнего обновления SDK. Что изменилось? Как это исправить?

Вот ошибка, которая показывает:

java: /Users/amit/App/src/com/app/EMCache.java:5: package android.support.v4.util does not exist
java: /Users/amit/App/src/com/app/EMCache.java:9: cannot find symbol
symbol  : class LruCache
location: class com.app.EMCache
java: /Users/amit/App/src/com/app/EMCache.java:20: cannot find symbol
symbol  : class LruCache
location: class com.app.EMCache
4b9b3361

Ответ 2

В моем случае решение в конечном итоге было найдено как зарегистрированное здесь:

  • Убедитесь, что вы загрузили Библиотеку поддержки Android с помощью диспетчера SDK.
  • Создайте каталог libs/ в корневом каталоге вашего проекта приложения.
  • Скопируйте файл JAR из установочного каталога Android SDK (например, <sdk>/extras/android/support/v4/android-support-v4.jar) в каталог libs/.

Ответ 3

Если вы используете Gradle, мне также нужно добавить эту строку в раздел зависимостей моего внутреннего build.gradle, файла, в котором вы указываете свои minSdkVersion и targetSdkVersion:

dependencies {
  compile "com.android.support:support-v4:19.0.+"
}

Я считаю, что '19' должен быть любым вашим compileSdkVersion. Если я ошибаюсь, это скажет вам, что это должно быть.

Ответ 4

Для тех, кто импортирует библиотеки поддержки с помощью gradle следующим образом:

// compat libraries
compile 'com.android.support:support-v4:23.2.0' // v4
compile 'com.android.support:appcompat-v7:23.2.0' // v7
compile 'com.android.support:support-v13:23.2.0' //v13

Не забудьте удалить этот все *.exclude модуль: 'support-v4' из конфигураций

configurations {
    //all*.exclude module: 'support-v4'
}

... Возможно, это была фиктивная ошибка из моей части:)

Ответ 5

В моем случае я портировал приложение API GoogleMaps API1 в API2, и через много часов я понял, что не добавляю

C:\Program Files\..(your_path_)..
  ..\adt-bundle-windows-x86_64\sdk\extras\android\support\v4

для внешних библиотек..

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

Ответ 6

расширенный ответ:

dependencies {
    compile "com.android.support:support-v4:19.0.+"
}

работал у меня. Но (в моем случае, по крайней мере) "19" должны соответствовать compileSdkVersion

Ответ 7

Перейдите в каталог Android SDK и:

jar tvf./extras/android/support/v13/android-support-v13.jar | grep v4. * util

И в этом файле jar вы можете увидеть один из классов (под v4/util), который вы использовали в своих приложениях.

     0 Wed Mar 26 20:29:48 SGT 2014 android/support/v4/util/
  3373 Wed Mar 26 20:29:48 SGT 2014 android/support/v4/util/ArrayMap.class
  5329 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections.class
  1625 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/ContainerHelpers.class
  3677 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections$KeySet.class
  1220 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/DebugUtils.class
  3435 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/AtomicFile.class
  1287 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/LogWriter.class
  3701 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections$ValuesCollection.class
  4446 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections$EntrySet.class
  5910 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/SparseArrayCompat.class
  3273 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/TimeUtils.class
  5776 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/LongSparseArray.class
  5680 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/LruCache.class
  3341 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections$MapIterator.class
  1575 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/MapCollections$ArrayIterator.class
  2439 Wed Mar 26 20:29:48 SGT 2014 android/support/v4/util/ArrayMap$1.class
  8611 Wed Mar 26 20:29:46 SGT 2014 android/support/v4/util/SimpleArrayMap.class

Таким образом, пакет "android.support.v4.util" ошибки не существует "просто означает, что вы должны скопировать указанный выше файл jar в подкаталог libs и перекомпилировать.

Ответ 8

В моем случае проблема заключалась в ссылке на jar из папки установки sdk, копирование jar в папку проекта libs, добавление в путь сборки фактически разрешило проблему.

Ответ 9

В моем случае с Android Studio эта ошибка появилась в середине рабочего проекта и отказалась исчезнуть, несмотря на много шума. Я, наконец, принудительно выполнил операцию Gradle Sync, добавив один пробельный символ в файл Gradle. Синхронизация Gradle моментально зафиксировала его.

Ответ 10

добавить зависимость

dependencies { compile 'com.android.support:support-v4:+'}

Изменить инструмент сборки

 dependencies {  classpath 'com.android.tools.build:gradle:2.3.0'}

Работал для меня.

Ответ 11

Шаг 1: Откройте Project в AndroidStudio3.3 или выше, дождитесь завершения загрузки проекта.

Шаг 2: Щелкните правой кнопкой мыши "приложение" → Refactor → Migrate to AnroidX

Шаг 3: Просмотрите изменения в консоли AndroidStudio ниже и нажмите "Выполнить рефакторинг"

Проблема будет исправлена.

Ответ 12

Попытавшись настроить build.gradle различными способами, мы нашли решение, найденное здесь: https://github.com/kmagiera/react-native-gesture-handler/issues/394#issuecomment-508358572

короче говоря - вы можете решить это с помощью jetifier:

npm install --save-dev jetifier npx jetify

Из пакета документов:

Если вы используете модули React Native с собственным кодом Java, который не преобразован в AndroidX, и ваше приложение - AndroidX, вам, вероятно, это понадобится.