我想通过 BusyBox 命令在后台静默安装 .apk。我看到了一些类似的问题,例如 THIS ,但我仍然无法正常运行我的代码...
我有:
- 我的 .apk 我需要安装在/sdcard/download/app.apk 上
- 根
- 已安装 BusyBox
代码(不工作):
String sss = Environment.getExternalStorageDirectory() + "/download/" + "app.apk";
Process install;
install = Runtime.getRuntime().exec("/system/xbin/busybox pm install " + sss);
int success = install.waitFor();
如果我使用“install”而不是“pm install”,它会很好地复制文件。
附言上面的代码在 AsyncTask 中执行。没有错误,但也没有任何反应...... 请帮忙!
我也试过这个,但我得到退出值 139 并且没有结果:
Process process;
process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("pm install /mnt/sdcard/app.apk\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
int i = process.waitFor();
最佳答案
也许这段代码能帮到你
Process p = null;
try
{
p = Runtime.getRuntime().exec("su");
DataOutputStream outs=new DataOutputStream(p.getOutputStream());
String cmd="pm install /mnt/sdcard/app.apk";
outs.writeBytes(cmd+"\n");
}
catch (IOException e)
{
e.printStackTrace();
}
关于Android 通过 busybox 命令行静默安装 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398543/