Android 通过 busybox 命令行静默安装 apk

标签 android busybox android-install-apk

我想通过 BusyBox 命令在后台静默安装 .apk。我看到了一些类似的问题,例如 THIS ,但我仍然无法正常运行我的代码...

我有:

  1. 我的 .apk 我需要安装在/sdcard/download/app.apk 上
  2. 已安装 BusyBox

代码(不工作):

String sss = Environment.getExternalStorageDirectory() + "/download/" + "app.apk";
Process install;
install = Runtime.getRuntime().exec("/system/xbin/busybox pm install " + sss); 
int success = install.waitFor();

如果我使用“install”而不是“pm install”,它会很好地复制文件。

附言上面的代码在 AsyncTask 中执行。没有错误,但也没有任何反应...... 请帮忙!

我也试过这个,但我得到退出值 139 并且没有结果:

        Process process;
        process = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(process.getOutputStream());
        os.writeBytes("pm install /mnt/sdcard/app.apk\n");
        os.flush();
        os.writeBytes("exit\n");
        os.flush();

        int i = process.waitFor();

最佳答案

也许这段代码能帮到你

Process p = null;
try
{
    p = Runtime.getRuntime().exec("su");
    DataOutputStream outs=new DataOutputStream(p.getOutputStream());

    String cmd="pm install /mnt/sdcard/app.apk";
    outs.writeBytes(cmd+"\n");
}
catch (IOException e)
{
    e.printStackTrace();
}

关于Android 通过 busybox 命令行静默安装 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398543/

相关文章:

java - 使用我自己在 OpenCV 中的公式将 RGB 转换为灰度

android - 如何在请求广告时使 AdView "occupy"空间? (安卓)

linux - Docker Busybox 容器添加组和用户

android - 运行没有权限的flutter项目出错

java - "How are"Android 应用程序(Facebook 等)安装到 Android 手机?

android - ldpi、mdpi、hdpi 和 xhdpi 屏幕的背景尺寸应该是多少?

android - 从 SOAP 响应获取 "&lt;"而不是 "<"在一台设备上中断,但在另一台设备上中断

bash - 破折号大小写到驼峰大小写

docker - 当一行太长时,如何设置 busybox vi 自动换行?

android - Google Play 仅更新特定版本的 Android API