`
ouyangfeng521
  • 浏览: 248726 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

androi 静默安装APK

 
阅读更多

静默安装前 手机 必须 root

 

以下是代码 、

package com.test.root.install;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.xml.sax.InputSource;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;

public class RootInstallApkActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.install).setOnClickListener(this);
    }

    private Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            switch (msg.what) {
            case 0:
                findViewById(R.id.install).setEnabled(true);
                break;
            case 1:
                findViewById(R.id.install).setEnabled(false);
                break;
            default:
                break;
            }
        }
    };

    public void install() {

        new Thread() {
            public void run() {
                try {
                    handler.sendEmptyMessage(1);
                    Process process = Runtime.getRuntime().exec("su"); // 得到root 权限
                    OutputStream out = process.getOutputStream();
                    // 向进程里 写入命令
                    out.write(("cp /sdcard/CNApp/test.apk /data/local/tmp" + "\n").getBytes()); // 先把sdcard里的apk copy到这里目录
                    out.write(("pm install -r /data/local/tmp/test.apk" + "\n").getBytes());// 调用安装
                    out.flush();
                    out.close();
                    InputStream in = process.getInputStream();
                    int len = 0;
                    byte[] bs = new byte[256];
                    while (-1 != (len = in.read(bs))) {
                        System.out.println(new String(bs, 0, len));
                    }
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    handler.sendEmptyMessage(0);
                }
            }
        }.start();

    }

    /**
     * (non-Javadoc)
     * 
     * @see android.view.View.OnClickListener#onClick(android.view.View)
     */
    @Override
    public void onClick(View v) {
        install();
    }
}
分享到:
评论
4 楼 chenjia66804610 2013-05-23  
你好,我也是下载了你的程序,运行不报错,但是应用没有安装到系统里面,是怎么回事呢
3 楼 yyhat 2013-05-16  
静默安装不成功,不要拷贝,下面的测试是可以的
public boolean installFile(File path, Context context) {
boolean result = false;
Process process = null;
OutputStream out = null;
InputStream in = null;
String state = null;
try {
// 请求root
process = Runtime.getRuntime().exec("su");
out = process.getOutputStream();

// 调用安装,将文件写入到process里面
out.write(("pm install -r " + path + "\n").getBytes());

// 这里拿到输出流,开始安装操作
in = process.getInputStream();
int len = 0;
byte[] bs = new byte[256];
while (-1 != (len = in.read(bs))) {
state = new String(bs, 0, len);
if (state.equals("Success\n")) {
// 安装成功后的操作
result = true;
Log.e("成功", state);
break;
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.flush();
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
2 楼 ouyangfeng521 2013-03-04  
robertsun 写道
你好,我下载了你的程序,程序运行没有出错,但是要安装的程序没有安装到系统里,是怎么回事呢?谢谢。


手机有没有ROOT
1 楼 robertsun 2013-01-14  
你好,我下载了你的程序,程序运行没有出错,但是要安装的程序没有安装到系统里,是怎么回事呢?谢谢。

相关推荐

    Android10静默安装APK

    在Android系统中,静默安装APK(Silent Install)是指在用户无感知的情况下自动安装应用程序。这通常需要系统的特殊权限,因为出于安全考虑,Android系统默认不允许非系统应用进行后台安装。在Android 10中,由于...

    Android无需Root静默安装apk

    在本文中,我们将探讨如何在不获取Android设备Root权限的情况下实现静默安装APK。 静默安装APK的方法主要分为两种:通过Adb(Android Debug Bridge)和通过自定义服务。Adb是Android开发工具包中的一个重要组成部分...

    android激活应用辅助功能,模拟点击静默安装apk

    在Android平台上,有时候我们可能需要在无需用户交互的情况下自动执行某些操作,比如静默安装APK文件。这就涉及到了Android的辅助功能(Accessibility Services)和模拟点击的技术。本篇文章将详细解析如何通过激活...

    Android静默安装卸载APK

    在Android系统中,静默安装和卸载APK是指在用户无感知的情况下,通过编程方式自动执行安装或卸载应用程序的过程。这种方式常用于系统维护、自动化测试或者在企业级设备管理中,以便批量处理应用程序的部署。在本教程...

    静默安装apk android4.4

    在Android系统中,静默安装(Silent Install)是指在用户无感知的情况下自动安装APK应用的过程。在Android 4.4(KitKat)版本中,这个功能主要应用于企业级设备管理和批量部署应用的场景。下面我们将详细探讨如何在...

    Android 无需root实现APK静默安装

    使用Android5.0的环境编译的,不同版本之间,aidl文件可能会有差异,具体还需参照Android...详细参考我的博客文章《Android 无需root实现APK静默安装》:http://blog.csdn.net/yyh352091626/article/details/50533137

    Android无需root实现apk的静默安装

    Android的静默安装似乎是一个很有趣很诱人的东西,但是,用普通做法,如果手机没有root权限的话,似乎很难实现静默安装,因为Android并不提供显示的Intent调用,一般是通过以下方式安装apk: Intent intent = new ...

    Android10.0 静默安装、卸载接口.zip

    在Android系统中,静默安装(Silent Installation)和卸载(Silent Uninstallation)是开发者或者系统管理员在后台执行应用程序的安装与卸载过程,无需用户交互的一种方式。这通常用于批量部署应用或者在设备管理器...

    android 5.1静默安装、卸载patch

    支持android5.1静默安装、卸载代码,封装在PackageInstaller模块内,在执行时可能需要修改部分framework代码使功能正常使用。

    android定时静默安装apk

    在Android系统中,静默安装APK是指在用户无感知的情况下自动进行的安装过程,通常需要设备具有root权限。静默安装APK适用于自动化部署、批量更新应用等场景。本教程将详细介绍如何实现Android定时静默安装APK,并在...

    APK自动静默安装并自动重新启动

    2. **广播接收器**:可以创建一个监听`ACTION_PACKAGE_INSTALLED`广播的接收器,当APK安装完成后,系统会发出这个广播,接收器接收到广播后执行相应的启动操作。 3. **使用Intent**:在APK的清单文件...

    Android应用源码APK实现静默安装整套资料.zip

    本资料"Android应用源码APK实现静默安装整套资料.zip"提供了一种实现静默安装的方法,包括源码参考和相关指导。下面我们将详细探讨如何在Android系统中实现APK的静默安装。 首先,我们需要了解在Android系统中安装...

    android 7.0非root下 实现静默安装 多种方式

    在Android系统中,静默安装(Silent Install)和静默卸载(Silent Uninstall)是指在不显示用户界面或获取用户明确许可的情况下自动安装或卸载应用程序。这对于批量设备管理和企业级应用部署尤其重要。在Android 7.0...

    Android实现静默安装APK的两种方法.doc

    标题与描述均提到了“Android实现静默安装APK的两种方法”,这表明文章将探讨在Android设备上不经过用户交互就能自动安装APK(应用包)文件的技术。这一功能对于自动化部署、企业级应用更新或系统级软件管理场景尤为...

    apk静默安装apk

    标题中的“apk静默安装apk”指的是在Android设备上,不显示安装界面和提示,而是通过特定的API或者命令行工具实现对其他APK文件的自动安装。这种方法常用于批量部署或者自动化测试场景,能够提高效率并减少用户的...

    Android实现静默安装APK的两种方法

    android apk 的安装方式,看了这篇文档,希望对你有点帮助!

    静默安装apk

    在Android系统中,静默安装APK(Silent Installation)是指在用户无感知的情况下自动安装应用程序。这通常在企业级设备管理或者自动化测试环境中非常有用,因为它可以避免手动交互,提高部署效率。以下是对静默安装...

    Android批量静默安装程序,无权限提示框

    在Android系统中,批量静默安装程序是一种自动化部署应用的方式,尤其在企业级环境中非常有用。这种方式能够避免在安装过程中出现用户交互界面,比如权限请求提示框,从而提高效率。以下是对这个主题的详细说明: 1...

    Android 实现静默安装并自动重启(需要root)

    在Android系统中,静默安装是指在用户无感知的情况下,后台自动执行APK应用程序的安装过程。这通常需要设备具有root权限,因为常规情况下,Android系统出于安全考虑并不允许非系统应用进行静默安装。本篇文章将深入...

Global site tag (gtag.js) - Google Analytics