Android 靜默安裝/後臺安裝

 Android實現靜默安裝其實很簡單,今天在網上找資料找半天都說的很復雜,什麼需要系統安裝權限、調用系統隱藏的api、需要系統環境下編譯、需要跟systemUI同進程什麼的。我不知道他們真的實現瞭靜默安裝沒有,反正我按照他們的方式統統都失敗瞭。

    下面我來說說我的靜默安裝實現方式,親測效果跟豌豆莢一樣,並且實現起來非常簡單:

   

    1.支持靜默安裝的機器必須Root,這個不需要我多講瞭。

    2.使用pm指令安裝即可。

 

    關鍵代碼如下:

 

execRootCmdSilent("pm install -r " + Environment.getExternalStorageDirectory().getPath()+"/xxx.apk")

 

 public int execRootCmdSilent(String cmd) {
        int result = -1;
        DataOutputStream dos = null;

        try {
            Process p = Runtime.getRuntime().exec("su");
            dos = new DataOutputStream(p.getOutputStream());

            Log.i(TAG, cmd);
            dos.writeBytes(cmd + "\n");
            dos.flush();
            dos.writeBytes("exit\n");
            dos.flush();
            p.waitFor();
            result = p.exitValue();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (dos != null) {
                try {
                    dos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return result;
    }

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *