Ошибка настройки ActionBarSherlock для начинающих

Я пытаюсь настроить ActionBarShelock в первый раз, используя Eclipse в Windows 7.

Я выполнил следующие инструкции: http://actionbarsherlock.com/usage.html.

Проект ActionBarSherlock.properties:

    android.library=true
    # Project target.
    target=android-15

ActionBarSherlock AndroidManifest.xml:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="11"/>

My error in Lint: Call requires API level 11 (current min is 7): android.widget...

Или, если я проигнорирую ошибку в ActionBarSherlock и импортирую ее как библиотеку, я не смогу скомпилировать свой проект, потому что никакие ссылки на библиотеку не распознаются, и я не получаю ошибок ресурсов.

Я искал много людей с похожими проблемами, и это всегда была ошибка цели сборки API. Спасибо вам за ваши предложения!


person Quinma    schedule 18.06.2012    source источник
comment
О каком звонке говорит ошибка?   -  person nhaarman    schedule 19.06.2012
comment
Справочные методы ошибок вызова, используемые в классах ActionBarSherlock, которые, как я предполагаю, предназначены для уровня API 11.   -  person Quinma    schedule 19.06.2012
comment
Можете ли вы привести пример такого метода?   -  person nhaarman    schedule 19.06.2012
comment
В src.com.actionbarsherlock.app.sherlockactivity.java onActionModeStarted(режим ActionMode){} и onActionModeFinished(режим ActionMode){} имеют теги @Override, но имеют ошибку Должен переопределить метод суперкласса. Это одна из самых распространенных ошибок 327.   -  person Quinma    schedule 19.06.2012


Ответы (3)


Несколько вещей:

  1. Убедитесь, что вы компилируете ваше приложение с Android 4.0 или новее (API 14+). Вы должны сделать это в дополнение к библиотеке.
  2. Убедитесь, что вы звоните getSupportActionBar, а не getActionBar. Вероятно, это источник ваших ошибок для lint.
  3. В то время как таргетинг на API 11 действителен, многие преимущества получаются при таргетинге на 14 или выше. Попробуйте сделать это, если сможете.
person Jake Wharton    schedule 18.06.2012

Я нашел это! Уровень соответствия JDK был установлен на 1,5. После установки на 1.6 все заработало.

Об этом говорится прямо на веб-сайте Action Bar Sherlock в разделе требований, но я сделал ошибку, предположив, что Eclipse использует последние настройки JDK.

Явная ошибка новичков.

Спасибо за помощь.

person Quinma    schedule 18.06.2012

Возможно, вы используете старую версию ActionBarSherlock? В текущей версии 4.1.0 для targetSdk установлено значение 15.

Я думаю, что в некоторых более старых версиях могут быть проблемы с более новым ADT/lint или подобным.

person Mattias Isegran Bergander    schedule 18.06.2012
comment
Спасибо за ваше предложение, но я сначала попробовал последнюю версию, а затем более старые версии. - person Quinma; 19.06.2012
comment
да, мой ADT полностью обновлен. Возможно, мне придется попробовать это на другой машине. - person Quinma; 19.06.2012
comment
Обычный чистый проект (включая ваш, но больше всего actionbarsherlock) тоже стоит попробовать. - person Mattias Isegran Bergander; 19.06.2012
comment
Ну и не забудьте попробовать очистить маркеры ворса (запись инструментов Android при щелчке правой кнопкой мыши по проекту actionbarsherlock). У меня он отлично работает с actionbarsherlock 4.1.0 и последней версией ADT. - person Mattias Isegran Bergander; 19.06.2012