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バイナリに2つのパスを使用しているようです。最初にchmod/system/xbinそれを呼び出しますが、次に。から呼び出しますsystem/bin。正しいパスを使用していることを確認してください。そして、非常に悪いようchmod 777 /data/appに見えます。

于 2012-09-26T09:37:49.367 に答える
1

ルートシェルで実行する場合su -c pm install myapp.apkは、バックグラウンド(「pm」に注意)部分にインストールできるはずです。これはbusyboxとは何の関係もありません。どのシェルでも使用でき、の権限を変更する必要はありません/data/app

于 2012-09-27T02:48:52.740 に答える