• 静默安装/ 普通安装与root权限获取相关


    静默安装

    有时候使用第三方的插件时我们需要静默安装其提供的apk包,静默安装时我们需要获取root权限,如下代码

    Process process = Runtime.getRuntime().exec("su");
    

    然后此时获取到的root权限不是整个个应用的,而是Process这个进程

    所以此时要进行的root权限相关的操作,就必须通过Process这个进程来获取

    ps:file为sd卡中的文件File类型

    如下

    DataOutputStream dataOutputStream = new DataOutputStream(process.getOutputStream(););
                    //执行777 linux命令获取文件的最高权限
                    dataOutputStream.writeBytes("chmod 777 " + file.getPath()
                            + "
    "); // 获取文件所有权限
                    dataOutputStream
                            .writeBytes("LD_LIBRARY_PATH=/vendor/lib:/system/lib pm install -r "
                                    + file.getPath()); // 进行静默安装命令
        // 提交命令
                    dataOutputStream.flush();
                    // 关闭流操作
                    dataOutputStream.close();
                    out.close();
                    int value = process.waitFor();
    
                    // 代表成功
                    if (value == 0) {
                        Log.e("hao", "安装成功!");
                        result = true;
                    } else if (value == 1) { // 失败
                        Log.e("hao", "安装失败!");
                        result = false;
                    } else { // 未知情况
                        Log.e("hao", "未知情况!");
                        result = false;
                    }

    value值可以判断安装是否成功

    注:try catch 异常捕获代码没有写,可自行添加

    //不上心的分隔线

    普通安装

    普通模式安装,调用系统Intent

    public static void install(Context context, String filePath) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive");
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
  • 相关阅读:
    Hibernate_一对多映射_2
    Hibernate框架_1 单表映射 _2
    JS
    Hibernate框架_1 单表映射
    Spring_1
    Javabean
    JAVA注解(JDK1.5开始)
    JAVA方法的反射
    JAVA-Reflect(反射)1
    Android初学:Gradle 'HelloWorld' project refresh failed
  • 原文地址:https://www.cnblogs.com/fengfenghuifei/p/6401028.html
Copyright © 2020-2023  润新知