我正在尝试为Android Things app.apk
构建自动更新程序。到目前为止,我已将.apk
的新版本下载到/sdcard/download/app.apk
中,我也可以通过adb终端从那里安装它,例如。
adb shell
pm install -r /sdcard/Download/app
现在我尝试通过设备本身做同样的事情。目前我有这个
Process install = Runtime.getRuntime().exec("pm install -r /sdcard/Download/app");
install.waitFor();
但没有任何反应。我试图像这样打开shell,但这次我得到了Cannot run program "su": error=13, Permission denied
Process install = Runtime.getRuntime().exec("su");
DataOutputStream out = new DataOutputStream(install.getOutputStream());
out.writeBytes("pm install -r /sdcard/Download/app");
out.flush();
是否有可能从设备本身安装下载的apk? The general way with Intent.ACTION_VIEW
doesn't work either.它消隐了,就是这样。没有任何事情发生。
答案 0 :(得分:0)
使用ADB命令
adb install /path-of-your-apk/app.apk
答案 1 :(得分:0)
您可以轻松启动安装提示:
Intent promptInstall = new Intent(Intent.ACTION_VIEW)
.setDataAndType(Uri.parse("file:///path/to/your.apk"),
"application/vnd.android.package-archive");
startActivity(promptInstall);
但是,如果没有用户的明确许可,您将无法安装.apks
。除非设备和程序已植根。