使用busybox在后台安装apk

时间:2012-09-26 09:32:49

标签: android busybox android-install-apk

我可以在rooted设备上使用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");

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:2)

它看起来为busybox二进制文件使用两个路径。首先,您chmod /system/xbin,然后从system/bin调用它。确保使用正确的路径。 chmod 777 /data/app看起来非常糟糕

答案 2 :(得分:1)

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