我正在尝试以编程方式安装 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 进行确认。