Android 静默安装/后台安装

Android实现静默安装其实很简单,今天在网上找资料找半天都说的很复杂,什么需要系统安装权限、调用系统隐藏的api、需要系统环境下编译、需要跟systemUI同进程什么的。我不知道他们真的实现了静默安装没有,反正我按照他们的方式统统都失败了。

下面我来说说我的静默安装实现方式,亲测效果跟豌豆荚一样,并且实现起来非常简单:

1.支持静默安装的机器必须Root,这个不需要我多讲了。

2.使用pm指令安装即可。

    3.特别注意 PM指令不支持中文,也就说路径中有中文会导致安装失败!

关键代码如下:

execRootCmdSilent("pm install -r " + Environment.getExternalStorageDirectory().getPath()+"/xxx.apk")

 1 public int execRootCmdSilent(String cmd) {
 2        int result = -1;
 3        DataOutputStream dos = null;
 4
 5        try {
 6            Process p = Runtime.getRuntime().exec("su");
 7            dos = new DataOutputStream(p.getOutputStream());
 8
 9            Log.i(TAG, cmd);
10            dos.writeBytes(cmd + "\n");
11            dos.flush();
12            dos.writeBytes("exit\n");
13            dos.flush();
14            p.waitFor();
15            result = p.exitValue();
16        } catch (Exception e) {
17            e.printStackTrace();
18        } finally {
19            if (dos != null) {
20                try {
21                    dos.close();
22                } catch (IOException e) {
23                    e.printStackTrace();
24                }
25            }
26        }
27        return result;
28    }  

不需要在Manifest中声明任何权限

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

时间: 2024-10-08 12:17:21

Android 静默安装/后台安装的相关文章

Android 静默安装/后台安装& Root permission

Android 静默安装/后台安装& Root permission 静默安装其实很简单,今天在网上找资料找半天都说的很复杂,什么需要系统安装权限.调用系统隐藏的api.需要系统环境下编译.需要跟systemUI同进程什么的.我不知道他们真的实现了静默安装实现方式,亲测效果跟豌豆荚一样,并且实现起来非常简单: 1.支持静默安装的机器必须Root,这个不需要我多讲了. 2.使用pm指令安装即可.     3.特别注意 PM指令不支持中文,也就说路径中有中文会导致安装失败! 关键代码如下: exec

android + eclipse + 后台静默安装(一看就会)

首先要说到三个类. [java] view plaincopy import android.content.pm.IPackageInstallObserver; import android.content.pm.IPackageInstallObserver$Stub; import android.content.pm.PackageManager; 其中,IPackageInstallObserver和IPackageInstallObserver$Stub 这两个类,在android

Android 静默安装和智能安装的实现方法

1 简介 最近研究了Android的静默安装和智能安装,于是写博客记录一下. 静默安装就是无声无息的在后台安装apk,没有任何界面提示. 智能安装就是有安装界面,但全部是自动的,不需要用户去点击. 首先强调两点: 静默安装必须要root权限 智能安装必须要用户手动开启无障碍服务 2 原理 静默安装.卸载的原理就是利用pm install命令来安装apk,pm uninstall 来卸载apk. 智能安装是利用android系统提供的无障碍服务AccessibilityService,来模拟用户点

Android静默安装实现方案,仿360手机助手秒装和智能安装功能

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好.虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所声明的权限展示给用户看,用户来评估一下这些权限然后决定是否要安装该程序,但如果使用了静默安装的方式,也就没

绕过身份检测,破解Android SU(android静默安装)

由于Android底层是Linux内核,故了解了Linux的权限管理后就可以知道ROOT的原理,具体可以访问<Android系统权限和root权限>一文,而一般的Androd下的su命令只支持在ROOT用户和SHELL用户下才有权限让程序以root用户身份运行,其实看完Android源码下的system/extras/su/su.c代码即可清楚,而我们绕过了其中的当前运行用户判断来让所有的用户都可以将以自己身份运行的程序尝试去设置以root用户身份运行,即运行su命令不需判断运行程序的当前用户

android静默安装和智能安装(转)

Android 静默安装和智能安装的实现方法 http://blog.csdn.net/fuchaosz/article/details/51852442 Android静默安装实现方案,仿360手机助手秒装和智能安装功能 http://blog.csdn.net/guolin_blog/article/details/47803149 5.0以上 静默安装的安装包放在根目录下,如:Environment.getRootDirectory().toString()+"/xxx.apk"

Android 静默安装Apk

参考链接 android 静默安装 [Android]实现静默安装APK的两种方法

Android菜鸟笔记- 获取未安装的APK图标、版本、包名、名称、是否安装、安装、打开

周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标可以用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候经常只能得到一个默认的图标,根本不是APK的图标. 参考小米开源文件管理器,结合实践,代码如下: /* * 采用了新的办法获取APK图标,之前的失败是因为andro

静默安装/ 普通安装与root权限获取相关

静默安装 有时候使用第三方的插件时我们需要静默安装其提供的apk包,静默安装时我们需要获取root权限,如下代码 Process process = Runtime.getRuntime().exec("su"); 然后此时获取到的root权限不是整个个应用的,而是Process这个进程 所以此时要进行的root权限相关的操作,就必须通过Process这个进程来获取 ps:file为sd卡中的文件File类型 如下 DataOutputStream dataOutputStream =