android-поддержка-v4.jar неправильно импортирует в Eclipse

я пытаюсь получить приложение для компиляции, которое использует android-support-v4.jar и Fragmentation классы, которые он содержит, но я продолжаю получать сообщения всякий раз, когда я пытаюсь скомпилировать, что в коде есть ошибки. Все ошибки имеют отношение к different Fragmentation классы, которые находятся в .JAR. Я пробовал ctrl-clicking папка проекта, а затем выберите Android Tools -> Add Compatibility Library и я продолжаю получать эту ошибку:

[2011-12-20 11:55:31 - Android Compatibility JAR not found:]
/Applications/eclipse/Eclipse.app/Contents/MacOS/v4/android-support-v4.jar

зачем искать .JAR в содержимом пакета Eclipse? Я зашел в свойства проекта и пошел в путь сборки Java, и импортировал .JAR С MainActivity/libs папка, которая не работала, а затем я попытался импортировать ее из своего каталога SDK, и это не сработало. Я исправил свойства проекта и очистил и построил его бесчисленное количество раз, я перезапустил Eclipse, мой компьютер, повторно загрузил и установил Eclipse, Android SDK и ADT и все еще ничего. Я полностью ковылявший.


редактировать


я прошел путь сборки и импортировал .JAR от обоих MainActivity/libs и мой каталог SDK. К черту ,я добавил.JAR в каталоге, который продолжает появляться в ошибках, и это не сработало. Что заставляет Eclipse искать его в содержимом пакета приложений?


обновление


поэтому после возиться с содержимым проекта не показывают никаких ошибок, но Папка MainActivity по-прежнему говорит, что есть один, и я все еще не могу скомпилировать.

как нях:

enter image description here


редакция


поэтому я думаю, что вопрос может быть "почему затмение ищет .JAR в содержимом пакета приложения Eclipse вместо libs каталог проекта или каталог Android SDK, который я использовал для импорта его в качестве внешнего .Банку?"


обновление #2


я получаю только одну ошибку теперь после возиться, это на этом методе:

@Override
public MenuItem setOnActionExpandListener(OnActionExpandListener onActionExpandListener) {
    // Noop
    return this;
}

быстрое исправление говорит, что я должен удалить аннотацию @Override, но этот метод должен переопределить метод суперкласса.

это ошибки, которые он показывает:

Multiple markers at this line
- The method setOnActionExpandListener(MenuItem.OnActionExpandListener) of type SimpleMenuItem must override a superclass method
- implements android.view.MenuItem.setOnActionExpandListener

12 ответов


похоже, что он ищет jar здесь: / Applications/eclipse / Eclipse.app / содержание / MacOS / v4 / android-поддержка-v4.Джар

android-поддержка-v4.jar находится в / дополнительно / android / совместимость / v4

пожалуйста, убедитесь, что вы добавили это как внешнюю банку в Java build path


Я мог бы решить эту проблему, 1-удалить " android-поддержка-v4.банка " от lib 2-щелкните правой кнопкой мыши по названию проекта, выберите "Android Tools"и" Add Support Library"


Если это все еще не решена: Как уже было сказано, в Eclipse перейдите к свойствам проекта > Java Build Path > Libs > Add External и получите его из каталога adk.

также настройте Java 1.6 в качестве версии компиляции по умолчанию, если вы уже этого не сделали. Это должно устранить описанные ошибки переопределения.


оказывается, что срок действия моего сертификата отладки истек, поэтому мне просто нужно было удалить ~/.android/debug.keystore и перезапустить Eclipse, и все сработало.


Я понимаю, что на этот вопрос был дан ответ, но это известная проблема, которая должна быть исправлена в выпуске плагина ADT-17 в соответствии с комментарием 9 здесь:http://code.google.com/p/android/issues/detail?id=21488

кроме того, люди, у которых есть эта проблема, могут скопировать банку совместимости в место, где она говорит, что не может ее найти. Очевидно, что он ищет в неправильном месте (так как он проверяет каталог Eclipse, а не каталог android-sdk), таким образом, сейчас самое простое решение-просто поместить пакет туда, где он хочет его найти, даже если он не принадлежит.

для меня это было так же просто, как копирование каталога v4 внутри C:/android-sdk/extras/android/support / в C:/eclipse / каталог.


У меня была такая же проблема, работающая в Ubuntu. Перейдите в меню Сервис - >Параметры. Проверьте силу https://... к http:// Откройте Android SDK Manager. Проверьте Дополнительно- > Библиотека Поддержки Android.


нечто подобное случилось со мной. В верхней части MainActivity.java у меня был следующий импорт, дающий ошибки:

import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

в каждой из строк слева у них была лампочка, делающая некоторые предложения. Если вы нажмете на него, одним из вариантов будет "Fix project setup". Затем вы сможете выбрать между несколькими вариантами фиксации импорта, вы должны выбрать тот, который указывает android-support-v4.сосуд.


щелкните правой кнопкой мыши на проекте ur --> выберите Android tools --> выберите add support library и просто установите поддерживающие библиотеки.


вы пытаетесь не делать Android Tools - > добавить библиотеку совместимости и добавить только jar в библиотеку путей сборки java?.

Я использую эту библиотеку jar таким образом, и она работает без каких-либо проблем.


У меня была та же проблема.

В разделе свойства проекта: Путь сборки Java: вкладка порядок и экспорт, поле рядом с android-поддержка-v4.банка не проверяются. Я поставил галочку, и ошибка исчезла.


еще одно предостережение было запущено Android SDK Manager в Windows 7 без прав администратора. Он попытается установить пакет поддержки, но всегда будет терпеть неудачу, и фактический пакет никогда не загружался в

файлы C:\Program (х86)\\Андроид-СДК\\кроме поддержки Android\\В4\Android-поддержка-В4.Джар


решение: убедитесь, что вы вводите тот же API для "Target SDK" и "Compile with" во время создания проекта Android (или в файле манифеста после его создания).