zoukankan      html  css  js  c++  java
  • Android 静默安装/后台安装& Root permission

    Android 静默安装/后台安装& Root permission

      静默安装其实很简单,今天在网上找资料找半天都说的很复杂,什么需要系统安装权限、调用系统隐藏的api、需要系统环境下编译、需要跟systemUI同进程什么的。我不知道他们真的实现了静默安装实现方式,亲测效果跟豌豆荚一样,并且实现起来非常简单:

        

        1.支持静默安装的机器必须Root,这个不需要我多讲了。

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

        3.特别注意 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 + "
    ");
                dos.flush();
                dos.writeBytes("exit
    ");
                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;
        }


        不需要在Manifest中声明任何权限

  • 相关阅读:
    java抽象类和接口
    java的三大特征:封装,继承和多态
    java的数组
    django 4.get接口开发
    django 3.post接口开发
    C# 程序启动最小化至任务栏及闪烁
    续Html5
    使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架
    Spring MVC拦截器
    Html5高级
  • 原文地址:https://www.cnblogs.com/larack/p/4058929.html
Copyright © 2011-2022 走看看