Android--静默安装

简介: 版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/54406899 1、root权限静默安装实现实现实际使用的是su pm install -r filePath命令。
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/54406899

1、root权限静默安装实现

实现实际使用的是su pm install -r filePath命令。核心代码如下:

protected static void excuteSuCMD() {  
		 Process process = null; 
		    OutputStream out = null; 
		    InputStream in = null; 
		    String currentTempFilePath = "/sdcard/QQ.apk";
		    try { 
		    // 请求root 
		    process = Runtime.getRuntime().exec("su");  
		    out = process.getOutputStream(); 
		    // 调用安装 
		    out.write(("pm install -r " + currentTempFilePath + "\n").getBytes()); 
		    in = process.getInputStream(); 
		    int len = 0; 
		    byte[] bs = new byte[256]; 
		    while (-1 != (len = in.read(bs))) { 
		    String state = new String(bs, 0, len); 
		    if (state.equals("Success\n")) { 
		       //安装成功后的操作 
		         } 
		       } 
		    } catch (IOException e) { 
		        e.printStackTrace(); 
		    } catch (Exception e) { 
		        e.printStackTrace(); 
		    } finally { 
		        try { 
		            if (out != null) { 
		                out.flush(); 
		                out.close(); 
		            } 
		            if (in != null) { 
		                in.close(); 
		            } 
		        } catch (IOException e) { 
		            e.printStackTrace(); 
		        } 
		    } 
	 }


2、非root权限提示用户安装,代码如下:

 public static void openFile() {  
        // 核心是下面几句代�?  
        if (!isHasfile()) {  
            downLoadFile(url);  
        }  
        Intent intent = new Intent();  
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
        intent.setAction(android.content.Intent.ACTION_VIEW);  
        intent.setDataAndType(  
                Uri.fromFile(new File("/sdcard/update/updata.apk")),  
                "application/vnd.android.package-archive");  
        mContext.startActivity(intent);  
    }  


目录
相关文章
|
Android开发
Android中 Download Manager系统下载管理器在Android 10系统中无法使用的情况
Android中 Download Manager系统下载管理器在Android 10系统中无法使用的情况
332 0
|
安全 Android开发
Android8.1 以上静默安装实现
Android8.1 以上静默安装实现
390 0
|
缓存 Shell Android开发
Android 常见adb命令
Android 常见adb命令
201 0
|
Shell Android开发 Windows
【Android 逆向】Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )
【Android 逆向】Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )
269 0
【Android 逆向】Android 系统文件分析 ( Android 系统 root 环境准备 | 查看 Android 根目录信息 )
|
缓存 监控 Shell
Android--adb命令详解
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。
2550 0
|
数据库 Android开发 开发工具
|
Shell Android开发 网络协议