How to run Android UI tests on virtual devices



Thanks for replying.

Here’s my current settings:

Environment Variables:


Directories to pull:


And I can see the coverage file downloaded, found and uploaded by the codecov script. But in the coverage on the relevant classes are still zero. Could you suggest where should I start investigating?


If you’re using android test orchestrator, there’s a known bug that breaks coverage generation. Otherwise it should work.

Make sure your build.gradle is configured correctly for jacoco coverage and using the latest versions.


After some further investigation I found that codecov can’t process the generated by instrument tests. When I turn it into an xml report, codecov can update the coverage correctly.

But instrument tests only seems to generate the .ec file, not the .em, so I can’t convert with ‘emma report’. Well, anyways, it’s beyond bitrise’s power. I appreciate your great work.


Use jacoco, not emma. Jacoco can output different types of reports.


OK, I got a report with java -jar jacococli.jar report, finally! Thank you so much for your help!


Thanks for the tutorial.

I have about 5 different modules all containing instrumentation tests. How can I configure this with bitrise? Wouldn’t I need to specifiy 5 different apks for each module?


@PaulWoitaschek right now, with our built in Virtual Device Testing feature you can only run instrumentation tests for a single APK per build.

Feel free to create a #feature-request, or register the apps as separate apps on (you can register the same repo multiple times), or use Firebase TestLab directly via scripts (How-to run Android tests on Firebase TestLab).

If you’d have any questions just let us know! :wink:


Hi, I have a project which has multiple modules containing the UI tests. I want to test them all. However, when I install the apk generated by assembleDebugAndroidTest and run virtual device test, I run tests from the app module only. Can you help me with this?


Hi @kevalpatel2106,

Does the build generate multiple APKs? If it does, then please see my reply above :point_up_2: How to run Android UI tests on virtual devices

If not, then please create an issue report with the build’s URL, so that we can look into it (


My tests are failing on virtual device as the location is not enabled. All my tests uses espresso api’s and to over come this I am running UI automator calls to enable the location whenever the location dialog is reported. But no luck. Is there anyway to get rid of this. ? Thanks in advance


Hello @ns.mesta!
Could you please write to us on the on-site chat, send a build url and please enable support user on the app?