Пакета 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 

Это может быть связано с

ClassNotFoundException после обновления ADT или

Eclipse дает ошибку, отсутствует файл R.java после недавнего обновления ,

Которые были решением общих проблем в rev. 22.

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

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

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

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

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

Для тех, кто импортирует библиотеки поддержки, используя такой градиент:

 // 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' } 

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

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

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

К внешним библиотекам.

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

Ответ черепа:

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

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

Перейдите в каталог 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 

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

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

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