如何在 Android 台设备上静默安装应用程序?

How to install app silently on Android devices?

所以,我找到了这个答案 here,作者是 #CommonsWare,它允许应用程序像 Google Play 一样静默安装应用程序到 phone。在那里,提到应用程序应该使用固件签名证书进行签名,或者将应用程序添加到系统文件夹。我需要知道的是,如果我将应用程序添加到 system\app\ 或 system\priv-app\,那么是否可以将应用程序静默安装到 Android 设备?或者我需要使用 INSTALL_PACKAGES 权限吗?如果是,怎么做?

我问这个问题是因为我只有 10 个声誉,所以我不能在那里发表评论。

我找到了#inazaruk here 的答案,但它很复杂,而且提供的链接已失效。

执行安装的应用程序需要系统签名或驻留在 system/app system/priv-app,对于那些您确实需要持有正确权限才能安装应用程序的应用程序(即使你是系统签名的),不同之处在于你可以获得必要的许可来这样做。您使用权限的事实与用户获得 pop-up 询问是否可以的事实不同。

为了安装一个包你可以调用 (ApplicationPackageManager.installPackage): http://androidxref.com/7.1.1_r6/xref/frameworks/base/core/java/android/app/ApplicationPackageManager.java#1561

public void installPackage(Uri packageURI, PackageInstallObserver observer,
        int flags, String installerPackageName) {

由于 ApplicationPackageManager 上有 @hide,您将不得不使用反射之类的方法来访问它。当您调用 "Context.getPackageManager".

时,您会得到一个 ApplicationPackageManager