Как мне запустить локальные юнит-тесты Android из командной строки без Gradle?
На сайте документации Android есть статья , в которой говорится, что это возможно, но я не могу ее получить.на работу:
~/src/ourproj $ adb shell am instrument -w com.company.ourproj.test/android.test.InstrumentationTestRunner
android.util.AndroidException: INSTRUMENTATION_FAILED: com.company.ourproj.test/android.test.InstrumentationTestRunner
at com.android.commands.am.Instrument.run(Instrument.java:486)
at com.android.commands.am.Am.runInstrument(Am.java:194)
at com.android.commands.am.Am.onRun(Am.java:80)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
at com.android.commands.am.Am.main(Am.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.company.ourproj.test/android.test.InstrumentationTestRunner}
INSTRUMENTATION_STATUS: id=ActivityManagerService
INSTRUMENTATION_STATUS_CODE: -1
Я видел другой вопрос по этому поводу , но это не помогло.
Почему?Мы хотим запустить наши тесты на круговой CI и продолжаем сталкиваться с проблемами аварийной памяти .Gradle использует много памяти - экземпляры CI имеют 4 ГБ, которых должно быть достаточно, поэтому статья выглядела многообещающе.
В модульных тестах нет файла AndroidManifest.xml
- есть только один верхний уровень и одиндля тестов пользовательского интерфейса.Gradle, кажется, пишет это на лету.Возможно, имена пакетов неверны выше (обратите внимание, что я изменил имя, чтобы защитить виновных), но я не могу понять, как определить, какими они должны быть.