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);  
    }  


目录
相关文章
|
9月前
|
人工智能 测试技术 Docker
Coze平台指南(2):开发环境的搭建与配置
Coze(扣子)是字节跳动开源的AI智能体开发平台,包含开发工具和运维系统,支持本地部署且硬件要求低。本文将手把手带你完成Coze开发环境的搭建与配置,让你能快速开始本地化的AI智能体开发
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
10357 2
|
存储 人工智能 API
ChatGPT-on-WeChat:Star32.4k, DeepSeek加持!这款开源神器秒变AI助手,聊天体验直接起飞!
嗨,大家好,我是小华同学。今天为大家介绍一款结合DeepSeek引擎的开源项目——ChatGPT-on-WeChat,由开发者zhayujie打造。它将微信变成智能AI助手,支持文本、图片、语音对话,具备定时提醒、天气查询等扩展功能,完全开源且易于定制。项目地址:https://github.com/zhayujie/chatgpt-on-wechat。关注我们,获取更多优质开源项目和高效学习方法。
1847 11
|
缓存 Ubuntu 网络协议
Linux系统各发行版换国内yum或apt源,加速软件下载更新
Centos、Ubuntu、Debian、Fedora、OpenSUSE、FreeBSD系统换软件源
5705 0
|
存储 算法 语音技术
基于卡尔曼滤波的声源跟踪方法研究(上)
基于卡尔曼滤波的声源跟踪方法研究(上)
299 0
基于卡尔曼滤波的声源跟踪方法研究(上)
|
JavaScript Linux iOS开发
详解如何实现自由切换Node.js版本
不同的项目中需要使用不同版本的 Node.js,有时旧项目需要旧版本,而新项目则可能依赖最新的 Node.js 版本
2681 0
使用vs code自动生成vue2.0初始化模板
使用vs code自动生成vue2.0初始化模板
|
机器学习/深度学习 大数据
stata如何处理结构方程模型(SEM)中具有缺失值的协变量
stata如何处理结构方程模型(SEM)中具有缺失值的协变量
|
JSON 安全 Java
JWT令牌技术
JSON Web Token (JWT) 是一种安全的、自包含的信息传输格式,常用于身份验证和信息交换。它由Header、Payload和Signature三部分组成,其中Signature用于验证消息完整性和发送者身份。JWT包含用户信息,服务器登录后发送给客户端,客户端使用JWT证明身份访问受保护资源。在Java项目中,可以使用`java-jwt`库进行JWT的生成和解析。要开始使用JWT,需在Maven或Gradle中添加相关依赖,并实现生成和解析JWT的方法。此外,文中还提供了一个简单的Java Web应用示例,展示如何在用户登录和访问受保护资源时使用JWT。
702 0
|
关系型数据库 MySQL 数据库
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)
分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)

热门文章

最新文章