8

我可以在有根设备上使用busybox在后台安装apk吗???

我看到类似的东西,但它不起作用

process install;
CommandCapture command = new CommandCapture(0, "chmod 777 /data/app");
RootTools.getShell(true).add(command).waitForFinish(); 
CommandCapture command2 = new CommandCapture(0, "chmod 777 /system/xbin/busybox");
RootTools.getShell(true).add(command2).waitForFinish();
install = Runtime.getRuntime().exec("/system/xbin/busybox install " + Environment.getExternalStorageDirectory() + "/Download/" + "xxx.apk /data/app/xxx.apk");
4

3 回答 3

3

不使用busybox

install = Runtime.getRuntime().exec("su");   
DataOutputStream os = new DataOutputStream(install.getOutputStream());  
os.writeBytes("pm install "+APKFile.apk+"\n");  
os.writeBytes("exit\n"); 
os.flush();
install.waitFor();
于 2012-09-27T08:33:16.893 回答
2

看起来您为您的busybox二进制文件使用了两条路径。首先你chmod在里面/system/xbin,然后你从里面调用它system/bin。确保您使用正确的路径。而且chmod 777 /data/app看起来很糟糕

于 2012-09-26T09:37:49.367 回答
1

如果您su -c pm install myapp.apk在 root shell 中运行,您应该能够在后台安装(注意“pm”)部分。这与busybox无关,你可以使用任何shell,当然也不需要更改/data/app.

于 2012-09-27T02:48:52.740 回答