Я установил CI-сервер на Jenkins, который будет автоматизировать сборку Android-приложения. Когда я пропускаю тесты, все работает нормально.Андроид не работает в jenkins
clean build -x test
и я получу apk и сборку, которая закончена с успехами. Но когда я не пропускаю тесты, я получаю сообщение об ошибке. Моя команда:
clean build
И я получаю следующее сообщение об ошибке:
:app:testDebug
Test > testnamse FAILED
java.lang.NoClassDefFoundError
Caused by: java.lang.ClassNotFoundException
Test > testname FAILED
java.lang.NoClassDefFoundError
Test > testname FAILED
java.lang.NoClassDefFoundError
...
8 tests completed, 8 failed
:app:testDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:testDebug'.
> There were failing tests. See the report at: file:index.html
Этот .html показывает неудачные испытания и java.lang.NoClassDefFoundError. Но тесты преуспели, когда разработчик выполнил их с градиентом на своем локальном компьютере. Они используют gradle 2.2.1, в то время как я использую gradle 2.3 на сервере. Я не знаю, если это проблема.
Сначала выясните, работает ли на локальной машине все, когда вы делаете полную очистку + перестраиваете. Похоже, что локальный хранит некоторые файлы из предыдущей сборки, которые делают тесты выполняемыми правильно, в то время как этих файлов нет на вашей машине jenkins – Aster
Спасибо, хороший комментарий, я расскажу об этом разработчикам. – lvthillo
Они очистили его, и их сборка отлично работала – lvthillo