@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { //本程序获取root权限 Runtime.getRuntime().exec("su"); } catch (IOException e) { e.printStackTrace(); } } public void install(View view) { new Thread(){ public void run() { File file = new File("/sdcard/Phone.apk"); //文件不存在,提示一下 if(!file.exists()){ runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CopyOfMainActivity.this, "所安装应用不存在", 1).show(); } }); return; } try { RootTools.sendShell("/system/bin/pm install -r "+"/sdcard/Phone.apk", 30000); } catch (Exception e) { e.printStackTrace(); } }; }.start(); }
需要有Root权限。
如果没有Root权限可通过厂商的签名来完成"pm install"命令(这个不通用)
android:sharedUserId="android.uid.system"