Привет. Про тесты внутри Андройда. Когда андроид программист пишет юнит тесты, то они как обычно бегут на его машинке в jvm. Но, как мы знаем, на самом телефоне, там не джава, а своя реализация виртуальной машины. И Java байткод транспилируется в байткод этой машины (раньше она называлась DalvikVM, сейчас ART - Android Runtime). Так вот, инструментальные и UI тесты бегут на настощем устройстве. Для этого, когда тесты запускается по сути собирается два приложения - одно собственно тестируемое положение и второе приложение, которое содержит сами тесты и по сути что-то там делает с нашим основным приложением. Вот в этом случае как раз тесты и перепаковываются и засовываются внутрь apk.