如何在没有Gradle的情况下从命令行运行Android本地单元测试?
有一个article on the Android docs site表示可能,但我无法使其正常工作:
~/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
我见过other question about this,但没有帮助。
为什么?我们想在圈子CI和keep running into crash memory issues上运行测试。 Gradle占用大量内存-CI实例具有4GB的内存就足够了-因此,这篇文章看起来很有希望。
单元测试中没有AndroidManifest.xml
文件-只有一个顶级文件,一个用于UI测试。 Gradle似乎是在动态写这些。上面的软件包名称可能是错误的(请注意,为了保护自己的罪行,我更改了名称),但我不知道如何确定它们应该是什么。