8

Итак, я использую Robotium, и мой тестовый класс расширяет класс ActivityInstrumentationTestCase2. Я импортировал библиотеку поддержки v7 в моем основном проекте, а также в тестовом проекте в виде библиотек.Почему я получаю NoClassDefFoundError при выполнении моего теста в ActionBarActivity?

Теперь я не понимаю, что тестовый класс работает, когда я меняю класс под тестом на расширение Activity, но когда я меняю его на ActionBarActivity, он возвращает NoClassDefFoundError.

Я ничего не пропустил?

Вот Записывать я получаю

04-11 21:32:16.551: E/dalvikvm(23925): Could not find class 'com.example.project.ActivityClass', referenced from method com.example.project.tests.ActivityClass.<init> 
+1

Вы видели [это] (http://stackoverflow.com/questions/18848578/actionbaractivity-noclassdeffounderror-exception)? – Ircover

+0

Зачем использовать Robotium? Используйте новый эспрессо, поддерживаемый Google. Отправьте свой код. –

+0

Можете ли вы ответить? –

ответ

2

Я думаю, что ваша библиотека v7 приложение Compat имеет проблему импорта.

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

  • Импорта как проект из "sdk/extras/android/support/v7/appcompat".

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

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

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

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

+0

У вас есть тест рабочего блока на активность? –

+0

На данный момент я не могу получить свой собственный код, но вы можете найти множество примеров в Интернете. Вы попробовали то, что я сказал выше? – Maxouille

+0

Ссылка на пример? Знаете, я не смогу использовать ActionBarActivity, если я этого еще не сделал. –

4

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

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

Для примера см шаг 5 в разделе «Настройка» Раздел здесь: http://www.stevenmarkford.com/android-ui-testing-with-espresso-basics-tutorial/ (хотя это показывает, как экспортировать библиотеку эспрессо то же самое будет применяться в данном случае)

0

Этот код в build.gradle решить подобную проблему me:

configurations { 
    androidTestCompile.exclude group: 'com.android.support', module: 'support-v4' 
} 

Подробнее here.