博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android静默安装
阅读量:6481 次
发布时间:2019-06-23

本文共 1641 字,大约阅读时间需要 5 分钟。

静默安装的两种方式

1、需要root权限

2、拥有系统签名

首先第一种方式:

需要root权限

1 import java.io.File; 2 import java.io.IOException; 3 import java.io.InputStream; 4 import java.io.OutputStream; 5 import android.content.Context; 6  7 public class SleepInstall { 8  9     public static boolean installFile(File path,Context context){10         boolean result = false;11         Process process = null;12         OutputStream out = null;13         InputStream in = null;14         15         try {16             // 请求root17             process = Runtime.getRuntime().exec("su");18             out = process.getOutputStream();19 20             // 调用安装,将文件写入到process里面21             out.write(("pm install -r " + path + "\n").getBytes());22             // 这里拿到输出流,开始安装操作23             in = process.getInputStream();24 25         } catch (IOException e) {26             e.printStackTrace();27         } catch (Exception e) {28             e.printStackTrace();29         } finally {30             try {31                 if (out != null) {32                     out.flush();33                     out.close();34                 }35                 if (in != null) {36                     in.close();37                 }38             } catch (IOException e) {39                 e.printStackTrace();40             }41         }42         return result;43     }44 45 }

第二种方式:系统签名

这种方式代码比较简单,但是用到了隐藏的api,并且需要在源码环境下编译

1 if (file.exists()) {2                 getPackageManager().installPackage(Uri.fromFile(file), null,PackageManager.INSTALL_REPLACE_EXISTING,"com.nihao.com");3             }

file就是你要安装的apk文件,com.nihao.com是你要安装的apk文件的包名

转载于:https://www.cnblogs.com/all88/p/3540478.html

你可能感兴趣的文章
moosefs即将发布新版
查看>>
SmartGit 试用过期
查看>>
python 测试驱动开发的简单例子
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
软件设计之UML—UML的构成[上]
查看>>
[SPLEB]CodeSmith原理剖析(1)
查看>>
如何使用AdMob中介界面?
查看>>
分享一个shell脚本:通过Jumper机器来创建Jumper和target机器账号
查看>>
UITableViewCell分割线不是左对齐的问题
查看>>
CentOS7 编译安装PHP7
查看>>
MySQL常见错误代码及代码说明
查看>>
Cglib动态代理基础使用
查看>>
技术人员,为什么会苦逼
查看>>
使用126邮箱发送邮件的python脚本
查看>>
Maven
查看>>
缓存系统在游戏业务中的特异性
查看>>
Ngrok搭建自己的内网穿透
查看>>
redis的基本数据类型
查看>>
.NET 同步与异步之锁(Lock、Monitor)(七)
查看>>