Android实现静默安装其实很简单,今天在网上找资料找半天都说的很复杂,什么需要系统安装权限、调用系统隐藏的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中声明任何权限

原文:http://blog.csdn.net/h3c4lenovo/article/details/9202323

最新文章

  1. opencv4-highgui之视频的输入和输出以及滚动条
  2. iOS设计模式之原型模式
  3. Contest Hunter Round #70 - 连续两大交易事件杯省选模拟赛
  4. 软件工程课程作业(二)--四则运算2改进版(c++)
  5. Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法
  6. hdu 2612 Find a way
  7. 【BZOJ】【1045/1465】【HAOI2008】糖果传递
  8. MySQL 数据库性能优化之索引优化
  9. DOM动态添加表格
  10. mysql foreign key(外键) 说明与实例
  11. 清北学堂2019NOIP提高储备营DAY1
  12. Android Button四种点击事件和长按事件
  13. JS内置对象有哪些?
  14. Wooden Sticks---(贪心)
  15. css自定义checkbox和radio样式
  16. 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换
  17. 发布了一个基于jieba分词的ElasticSearch插件
  18. 面包屑 CSS
  19. django 中 Oauth2 实现第三方登陆
  20. thinkphp数据查询方法总结select ,find,getField,query

热门文章

  1. javabean 简介
  2. OSSchedLock()函数透析
  3. java 修饰符的作用一(public protected default private 组)
  4. C# 绘图对象 流对象 响应对象关系
  5. n数码问题, 全排列哈希
  6. 【最短路】Vijos P1022Victoria的舞会2
  7. sql server 删除索引的语句
  8. Nightmare(搜索)
  9. SRM 406(1-250pt, 1-500pt)
  10. 60秒找到最对的size?为服饰电商提供尺寸匹配解决方案的True Fit获1500万美元融资 | 36氪