android-support-v4.jar неправильно импортируется в Eclipse - PullRequest
16 голосов
/ 20 декабря 2011

Я пытаюсь заставить приложение для компиляции использовать классы android-support-v4.jar и Fragmentation, которые оно содержит, но я продолжаю получать сообщения всякий раз, когда пытаюсь скомпилировать, что в коде есть ошибки.Все ошибки связаны с различными 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 Build Path, и импортировал .JAR из папки MainActivity/libs, который не работал, а затем я попытался импортировать его из моего каталога SDK, и это не помогло.не работаетЯ исправил свойства проекта, очистил и собрал его бесчисленное количество раз, я перезапустил Eclipse, мой компьютер, заново загрузил и установил Eclipse, Android SDK и ADT и все еще ничего.Я полностью в замешательстве.


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


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


Обновление


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

Как ня:

enter image description here


Редакция


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


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


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

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

В Quick Fix сказано, что я долженудалите аннотацию @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 ]

19 голосов
/ 20 декабря 2011

Похоже, что он ищет банку здесь: /Applications/eclipse/Eclipse.app/Contents/MacOS/v4/android-support-v4.jar

android-support-v4.jar находится в / extras / android / compatibility / v4

Пожалуйста, убедитесь, что вы добавили это как внешний jar в путь сборки java

12 голосов
/ 28 декабря 2013

Я мог бы решить эту проблему 1- удалить "android-support-v4.jar" из lib 2 - щелкните правой кнопкой мыши по названию проекта, выберите «Инструменты Android» и «Добавить библиотеку поддержки»

4 голосов
/ 02 января 2012

Если это все еще не решено: как уже говорилось, в Eclipse перейдите в Свойства вашего проекта> Путь сборки Java> Libs> Добавить внешний и получите его из каталога adk.

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

2 голосов
/ 11 января 2012

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

1 голос
/ 17 декабря 2014

Щелкните правой кнопкой мыши по проекту -> выберите инструменты Android -> выберите добавить библиотеку поддержки и просто установите библиотеки поддержки.

1 голос
/ 02 июля 2013

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

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

В каждой из строк слева у них была лампочка, делающая некоторые предложения. Если щелкнуть по нему, одним из вариантов будет «Исправить настройку проекта». После этого вы сможете выбрать один из нескольких вариантов исправления импорта, вам следует выбрать тот, который указывает android-support-v4.jar.

1 голос
/ 16 февраля 2013

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

1 голос
/ 16 февраля 2012

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

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

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

0 голосов
/ 22 февраля 2014

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

0 голосов
/ 09 апреля 2012

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

В свойствах проекта: Java Build Path: вкладка Order and Export, поле рядом с android-support-v4.jar не было отмечено. Я установил флажок, и ошибка исчезла.

...