繁体   English   中英

在没有用户输入的情况下从有根的 android 安装 apk(语法上)

[英]installing apk from a rooted android without user input (grammatically)

我从其他相关问题和他们的回答中了解到,在有根的 android 设备上,我们可以在没有用户输入的情况下安装 apk,就像 google play 商店可能正在做的那样。

我已经植根我的设备并将我的应用程序安装在/system/app文件夹中。 它现在显示为系统应用程序。 这是我用来安装下载的 apk 文件的代码

private void install(UpdateRequest req, Uri apk) {
    Intent i;
    Log.e("INSTALL PROCESS ", " " + apk.toString());
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        i = new Intent(Intent.ACTION_INSTALL_PACKAGE);
        i.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);
    } else {
        i = new Intent(Intent.ACTION_VIEW);
    }
    i.setDataAndType(apk, "application/vnd.android.package-archive");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    startActivity(i);
}

上面的实现将为用户显示安装提示。 我希望在没有用户提示的情况下安装该应用程序。 我怎样才能做到这一点?

将此权限添加到清单:

<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>

然后做:

 try {   
        String adbCommand = "adb install -r " + fileName;
        String[] commands = new String[]{"su", "-c", adbCommand};
        Process process = Runtime.getRuntime().exec(commands);
        process.waitFor();
    } catch (Exception e) {
        //Handle Exception
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM