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 + "\n");
dos.flush();
dos.writeBytes("exit\n");
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中声明任何权限

最新文章

  1. NumPy的详细教程
  2. C3P0连接池连接MySQL出现的问题
  3. log_bin_trust_function_creators变量解释
  4. ThinkPHP讲解(八)——显示、修改、添加、删除
  5. View.VISIBLE、INVISIBLE、GONE的区别
  6. 3D旋转特效
  7. finalize与System.gc()
  8. css链接
  9. 【BBED】BBED模拟并修复ORA-08102错误
  10. Kibana使用高德地图
  11. [目录]C#学习笔记
  12. Unity--- 资源路径问题
  13. Oracle shared server模式连接ORA-12519
  14. 使用VMware出现的各种问题
  15. 兼容各种浏览器下调用iframe里面的函数
  16. spring MVC 字符串数组传值 字符带有逗号,问题
  17. 随机生成指定长度字符字符串(C语言实现)
  18. swift 使用计算属性+结构管理内存
  19. mysql group by 组内排序 group by 原理
  20. n&(n-1)位运算的妙用

热门文章

  1. PAT 1071 Speech Patterns[一般]
  2. MAC mysql install
  3. Flume1.7.0概述
  4. Mysql5.7 用户与授权
  5. java springboot整合zookeeper入门教程(增删改查)
  6. 【leetcode刷题笔记】Majority Element
  7. zabbix监控windows
  8. NSwag Tutorial: Integrate the NSwag toolchain into your ASP.NET Web API project
  9. scjp考试准备 - 8 - final关键字
  10. Redis_01