Android Robotium NoClassDefFoundError - PullRequest
12 голосов
/ 26 марта 2012

Я просто пытался использовать Robotium в тесте Android JUnit, но тестирование всегда завершается с ошибкой:

java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo

брошено в соло = новое соло (getInstrumentation (), getActivity ());в методе setUp ():

protected void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}

Я где-то читал, что это может быть связано с версией 17 Android SDK, но я не могу подтвердить это, поскольку я впервые попробовал Robotium уже с SDK 17.

Robotium jar правильно добавлен в путь сборки проекта.

Кто-нибудь сталкивался с подобными проблемами?

С уважением K.

Ответы [ 6 ]

30 голосов
/ 27 марта 2012

У меня была такая же проблема сегодня.Я решил импортировать jar в каталог libs тестового проекта, а затем добавить его в библиотеки путей сборки:

Свойства TestProject -> Путь сборки Java -> Libreries -> Добавить JAR ... -> TestProject/libs/robotium-solo-3.1.jar

25 голосов
/ 30 марта 2012

Вам нужно будет экспортировать банку Robotium, перейдя в Свойства-> Путь сборки Java -> Порядок и экспорт.Затем проверьте файл jar Robotium.

8 голосов
/ 07 февраля 2014

Я сделал эту конфигурацию для решения проблемы

enter image description here

Примечание. Сначала я поставил robotium.

3 голосов
/ 05 апреля 2012

У меня была та же проблема с SDK 17. Добавление jar-файла robotium в lib и экспорт помогли.Также пришлось изменить устаревший вызов super в конструкторе с super (String, Class) на super (Class), чтобы он работал.

2 голосов
/ 18 мая 2014

Если проблема не устранена, просто перезапустите затмение.У меня была такая же проблема даже после импорта robotium.jar, но после перезапуска затмения все работало нормально.

2 голосов
/ 06 августа 2012

Что я сделал, чтобы исправить ошибку:

  • Удалите библиотеки из стандартного пути сборки Java:
  • Щелкните правой кнопкой мыши имя проекта> Свойства> Путь сборки Java> вкладка Библиотеки> удалите все, кроме «Android X.X» (в моем случае 2.3.3) и «Зависимости Android»
  • Переименуйте папку библиотек из «lib» в «libs»
  • При этом все библиотеки в папке «libs» обнаруживаются плагином Android и добавляются в элемент «Зависимости Android» проекта
  • Очистить проект (не обязательно)

Ты в порядке!

...