2

Уже видел: NoClassDefFoundError Android with ActionBarActivity и ActionBarActivity catch an error on PhoneActionBarActivity - NoClassDefFoundError исключение

Я пытаюсь использовать ActionBarCompact в моем проекте. Я связал проект android-support-v7, а также его банку в моем проекте, следуя и проверяя шаги из множества источников, но все же я не могу справиться с этой проблемой.

Когда я построил свой проект, ошибок нет, но во время выполнения есть исключение. Не знаю, почему класс не обнаружен. Пожалуйста, скажите мне, что не так. Благодарю.

Код:

import android.os.Bundle; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.ActionBarActivity; 
import android.widget.ArrayAdapter; 

public class mainMenu extends ActionBarActivity implements ActionBar.OnNavigationListener { 

    ActionBar actionbar; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menutab); 

     actionbar = getSupportActionBar(); 
     actionbar.setTitle("Menu"); 
     actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 

     ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.menu_items, R.id.simpleText); 
     actionbar.setListNavigationCallbacks(mSpinnerAdapter, this); 
    } 

    @Override 
    public boolean onNavigationItemSelected(int arg0, long arg1)//item pos, itemid 
    { 
     switch (arg0) { 
     case 0: 
      System.out.println("selected: " + arg0); 
      break; 
     case 1: 
      System.out.println("selected: " + arg0); 
      break; 
     case 2: 
      System.out.println("selected: " + arg0); 
      break; 
     case 3: 
      System.out.println("selected: " + arg0); 
      break; 
     default: 
      break; 
     } 
     return true; 
    } 
} 

------------ Структура проекта и Путь сборки -----------------

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Logcat

enter image description here

+0

Какое исключение? Можете ли вы разместить логарифм? – Szymon

+0

можете ли вы разместить логарифм? также вам может потребоваться изменить порядок сборки –

+0

@Szymon Я опубликовал logcat – NightFury

ответ

5

Попробуйте это: библиотека поддержки

  • Импорт как проект сюда m "sdk/extras/android/support/v7/appcompat".

  • Справочная библиотека в вашем проекте (для Eclipse, "Properties - Android - Add").

  • Строительные проекты (для Eclipse, "Projects - Build All"). Убедитесь, что у вас есть "android.support.v7.appcompat" в папке вашего основного проекта.

Если проблема не решена, перезапустите eclipse.

затем чистые и перестраивать проект

Если проблема не устранена, удалите библиотеку поддержки от вас компьютера и перезакачают и следовать выше шаги.

+0

Хорошо. Я скоро дам вам знать. – NightFury

0

Получить последние версии.

Внимание: Будьте уверены, что вы импортировать класс ActionBar (и связанных с ними API) из соответствующего пакета:

Если опорные уровни API ниже, чем 11: импорт android.support.v7.app.ActionBar и использовать getSupportActionBar()

Если поддерживается только уровень API 11 и выше: import android.app.ActionBar и использовать getActionBar()

из Google ActionBar

0

я был не по той же причине, как ваша, но это может помочь кому-то еще.

В базе данных ADT на затмении с каждым новым проектом Android создается новый каталог appcompat_v7. Я удаляю каталоги дубликатов (appcompat_7_2 и т. Д.), Потому что все они используют одни и те же версии с SDK.

Затем в project.properties путь к android.library.reference.1 обеспечивают путь к несуществующему каталогу.

Решение:

Перейти к Свойства проекта ->Android -> выбрать правый appcompat_vX каталог и удалить предыдущий один.

Смежные вопросы