Android静默安装

静默安装的两种方式

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             // 请求root
17             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文件的包名

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。