Ответ 1
Оказывается, мой сертификат отладки истек, поэтому мне просто нужно было удалить ~/.android/debug.keystore
и перезапустить Eclipse, и все сработало.
Я пытаюсь получить приложение для компиляции, которое использует классы 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 Package Contents? Я перешел к свойствам проекта и перешел на путь сборки Java и импортировал .JAR
из папки MainActivity/libs
, который не работал, а затем я попытался импортировать его из каталога SDK, и это не было Не работай. Я исправил свойства проекта, очистил и построил его бесчисленное количество раз, я перезапустил Eclipse, компьютер, повторно загрузил и установил Eclipse, Android SDK и ADT и все равно ничего. Я полностью в тупике.
Я прошел путь сборки и импортировал .JAR из каталога MainActivity/libs
и моего SDK. К черту это я добавил .JAR в каталог, который продолжает появляться в ошибках, и это не сработало. Что заставляет Eclipse искать его в нем? Содержимое приложения?
Итак, после внесения изменений в содержание проекта не отображаются какие-либо ошибки, но папка MainActivity все еще говорит, что есть одна, и я до сих пор не могу ее скомпилировать.
Подобно nyah:
Итак, я думаю, что вопрос может быть "Почему Eclipse ищет .JAR в содержимом пакета приложения Eclipse вместо каталога libs
проекта или каталога Android SDK, который я использовал для импорта в качестве внешнего. JAR?"
Теперь я получаю только одну ошибку после tinkering, это по этому методу:
@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
Оказывается, мой сертификат отладки истек, поэтому мне просто нужно было удалить ~/.android/debug.keystore
и перезапустить Eclipse, и все сработало.
Похоже, он ищет банку здесь:/Applications/eclipse/Eclipse.app/Contents/MacOS/v4/android-support-v4.jar
android-support-v4.jar находится в <sdk> /extras/android/compatible/v4
Пожалуйста, убедитесь, что вы добавили это как внешнюю банку в путь сборки java.
Я мог бы решить эту проблему 1- удалить "android-support-v4.jar" из lib 2- щелкните правой кнопкой мыши по названию проекта, выберите "Инструменты Android" и "Добавить библиотеку поддержки"
Если это еще не решено: Как уже говорилось, в Eclipse перейдите в "Свойства проекта" > "Путь сборки Java" > "Libs" > "Добавить внешний" и получите его из каталога adk.
Также настройте Java 1.6 как свою компиляцию по умолчанию, если у вас ее уже нет. Это должно решить описанные выше Ошибки переопределения.
Я понимаю, что на этот вопрос был дан ответ, но это известная проблема, которая должна быть исправлена в выпуске плагина 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/.
У меня была та же проблема, что и в Ubuntu. Перейдите в Инструменты- > Параметры. Проверить Force https://... на http:// Откройте Android SDK Manager. Проверьте Extras- > Android Support Library.
Что-то подобное случилось со мной. В верхней части MainActivity.java у меня были следующие импортные ошибки:
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
В каждой из строк слева у них была лампочка с некоторыми предложениями. Если вы нажмете на него, одним из вариантов будет "Исправить настройку проекта". Затем вы сможете выбирать между несколькими вариантами для фиксации импорта, вы должны выбрать тот, который указывает поддержку android-support-v4.jar.
Щелкните правой кнопкой мыши на проекте ur → выберите инструменты для Android → выберите добавить библиотеку поддержки и просто установите поддерживающие библиотеки.
Не пытаетесь ли вы использовать Инструменты Android → Добавить библиотеку совместимости и добавить только jar в библиотеку путей сборки Java.
Я использую эту библиотеку jar таким образом, и она работает без каких-либо проблем.
Еще одна оговорка заключалась в запуске Android SDK Manager в Windows 7 без прав администратора. Он попытается установить пакет поддержки, но всегда будет терпеть неудачу, и фактический пакет никогда не был загружен в
C:\Program Files (x86)\Android\android-sdk\extras\android\support\v4\android-support-v4.jar
У меня была та же проблема.
В свойствах проекта: Java Build Path: вкладка "Заказ и экспорт", поле рядом с андроид-поддержкой-v4.jar не было проверено. Я проверил коробку, и ошибка исчезла.
Решение. Убедитесь, что вы вводите тот же API для "Target SDK" и "Compile with" во время создания проекта Android (или в файле Manifest после создания).