老大要我弄个自动更新,要用到静默安装,网上找到了些大拿的代码,我拿去改吧改吧,先贴出来:

  1. /**
  2. * 软件静默安装
  3. * @param apkAbsolutePath apk文件所在路径
  4. * @return 安装结果:获取到的result值<br>
  5. *
  6. * 如果安装成功的话是“
  7. * pkg: /data/local/tmp/Calculator.apk  /nSuccess”,<br>
  8. * 如果是失败的话,则没有结尾的“Success”。
  9. */
  10. public String silentInstall(String apkAbsolutePath) {
  11. String[] args = { "pm", "install", "-r", apkAbsolutePath };
  12. String result = "";
  13. ProcessBuilder processBuilder = new ProcessBuilder(args);
  14. Process process = null;
  15. InputStream errIs = null;
  16. InputStream inIs = null;
  17. try {
  18. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  19. int read = -1;
  20. process = processBuilder.start();
  21. errIs = process.getErrorStream();
  22. while ((read = errIs.read()) != -1) {
  23. baos.write(read);
  24. }
  25. baos.write("/n".getBytes());
  26. inIs = process.getInputStream();
  27. while ((read = inIs.read()) != -1) {
  28. baos.write(read);
  29. }
  30. byte[] data = baos.toByteArray();
  31. result = new String(data);
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. } catch (Exception e) {
  35. e.printStackTrace();
  36. } finally {
  37. try {
  38. if (errIs != null) {
  39. errIs.close();
  40. }
  41. if (inIs != null) {
  42. inIs.close();
  43. }
  44. } catch (IOException e) {
  45. e.printStackTrace();
  46. }
  47. if (process != null) {
  48. process.destroy();
  49. }
  50. }
  51. return result;
  52. }

别急,没完,记得加权限呢:

  1. <!-- 以下是静默安装apk所需要到权限 -->
  2. <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
  3. <uses-permission android:name="android.permission.DELETE_PACKAGES" />
  4. <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
  5. <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
  6. <uses-permission android:name="android.permission.READ_PHONE_STATE" />

我粘贴过去,哇靠,好多红茶茶~怎么回事,鼠标移上去一看,

  1. permission is only granted to system apps

奇怪类,我这个就是系统应用阿~~找了好久,听见有个声音说要clean下,于是,我clean了一下,

挖靠!@果然没有红茶茶类~后来不知怎么改了下mainfest,又红茶茶类,我又clean了一下,竟然还有用!所以,以后出错了记得先clean下哦。当然,你要是布局文件有错到话那就没办法了,你需要先让布局文件到错误消失掉才能clean。

apk 静默安装的更多相关文章

  1. android apk静默安装

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢 ...

  2. Android 免Root实现Apk静默安装,覆盖兼容市场主流的98%的机型

    地址:http://blog.csdn.net/sk719887916/article/details/46746991 作者: skay 最近在做apk自我静默更新,在获取内置情况下,或者已root ...

  3. Android为TV端助力 apk静默安装

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢 ...

  4. APP流氓大法之apk 静默安装

    老大要我弄个自动更新,要用到静默安装,网上找到了些大拿的代码,我拿去改吧改吧,先贴出来: /** * 软件静默安装 * @param apkAbsolutePath apk文件所在路径 * @retu ...

  5. Android随笔之——静默安装、卸载

    随笔之所以叫随笔,就是太随意了,说起来,之前的闹钟系列随笔还没写完,争取在十月结束之前找时间把它给写了吧.今天要讲的Android APK的静默安装.卸载.网上关于静默卸载的教程有很多,更有说要调用隐 ...

  6. android 静默安装 卸载 资料汇总

    1. android + eclipse + 后台静默安装(一看就会) 2. 适用于android1.5以下版本apk静默安装 3. error: INSTALL_FAILED_SHARED_USER ...

  7. Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)

    一.通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载 . (1) 调用系统的安装应用,让系统自动进行apk的安装 String fileName = "/data/ ...

  8. Android项目实战(三十一):异步下载apk文件并安装(非静默安装)

    前言: 实现异步下载apk文件 并 安装.(进度条对话框显示下载进度的展现方式) 涉及技术点: 1.ProgressDialog   进度条对话框  用于显示下载进度 2.AsyncTask     ...

  9. android 4.0.4系统下实现apk的静默安装和启动

    转 android 4.0.4系统下实现apk的静默安装和启动 分类: Android 2013-02-14 14:13 1762人阅读 评论(10) 收藏 举报 最近在android 4.0.4系统 ...

随机推荐

  1. vim上次和下次光标位置

    ctrl + I 下次光标位置 ctrl + o上次光标位置.

  2. 【矩阵乘】【DP】【codevs 1305】Freda的道路

    1305 Freda的道路 时间限制: 1 s 空间限制: 128000 KB 题目等级: 大师 Master 题目描写叙述 Description Freda要到Rainbow的城堡去玩了. 我们能 ...

  3. [Spring Boot] Introduce to Mockito

    We have the implemetion: @SpringBootApplication public class MockitoDemoApplication { public static ...

  4. ivr

    /************************************************************* 北京高阳圣思园信息技术有限公司IVR业务: 流程说明:公司介绍子流程 发布 ...

  5. Android 模仿微信启动动画

    本文内容 环境 项目结构 演示微信启动动画 本文演示微信启动动画.请点击此处下载,自行调试. 顺便抱怨一下,实践性(与研究性质的相对)技术博的"七宗罪": 第一宗罪,错字连篇,逻辑 ...

  6. Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】

    从本文的内容上,写的时间比较早,而且有些术语我认为也不太准,有点口语化,但是意思到了. 问题: Perl.Python.Ruby 和 PHP 各自有何特点? 为什么动态语言多作为轻量级的解决方案? L ...

  7. 查看 js对象

    for (var obj in data) { document.write( '|'+obj +'|'); };

  8. AS-->创建项目(慢)和打开项目(慢)等需要注意的问题

    Android Studio 创建新项目的时候,会在进度条的界面滞留很久. 有时候一天都卡在这. 打开其它项目有些时候,也会出现这种情况. 主要的原因就是, 此过程正在 下载对应版本的 gradle. ...

  9. 关于微服务、SOA、以及API的理解

    现在微服务.SOA.RESTful API设计等在各大公司很流行.微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊.Google.FaceBook,Aliba ...

  10. C# 只能输入字母或数字

    c# 只能输入字母或者数字 或者退格符 方法一:KeyPress private void textBox2_KeyPress(object sender, KeyPressEventArgs e) ...