Программная установка Android apk как часть тестовой среды

Я пытаюсь установить apk программно, но мне не очень везет. Я настраиваю платформу автоматизированного тестирования для физических устройств и хочу, чтобы тестовые устройства получали последнюю версию apk с сервера сборки перед запуском тестов. Хотя я знаю, что не существует общего способа установить apk без согласия пользователя, мне любопытно, может ли быть какой-то подход, доступный в случае, когда разработчик владеет как apk, так и устройством.

Подходы, которые я пробовал в прошлом (apk был загружен в pathName / apkFilename):

String command = "adb install " + pathName + apkFilename;
Runtime.getRuntime().exec(command);

И:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(pathName + apkFilename)), "application/vnd.android.package-archive");
getActivity().startActivity(intent);

Хотя мне не удалось заставить работать первый подход, вторая попытка создает системный диалог с просьбой подтвердить установку (так что почти есть, но не совсем). Поскольку это системный диалог, я, к сожалению, не могу использовать Robotium для подтверждения.

7
задан John Carter 8 February 2012 в 04:58
поделиться