11

有什么方法可以阻止用户在自定义 android 操作系统中安装来自未知来源的应用程序?

我正在尝试使用 AOSP 源创建 Android 操作系统的自定义变体,在其中我希望允许用户仅安装来自我在构建期间指定的受信任源的应用程序。

阻止启用开发人员选项和 USB 调试。该解决方案应阻止用户从所有可能的来源(如侧载)或通过连接系统安装应用程序。

4

2 回答 2

2

我已经满足了相同的要求,并在 Android 8 中实现了它。它使用设备策略控制器来禁用应用安装。它应该仍然可以在新的 Android 版本中使用。

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/services/core/java/com/android/server/pm/UserManagerService.java;l=559

添加以下函数 applyInstallAppsRestritions,并在第 559 行调用它。

private void applyInstallAppsRestritions() {
    synchronized (mRestrictionsLock) {
        Bundle bundle = new Bundle();
        bundle.putBoolean(UserManager.DISALLOW_INSTALL_APPS, true);
        Slog.i(LOG_TAG, "disallow install app by default.");
        mBaseUserRestrictions.append(UserHandle.USER_SYSTEM, bundle);
    }
}
于 2020-07-23T07:49:48.280 回答
0

您可以通过创建设备策略控制器 (DPC)应用来禁用从未知来源安装应用、阻止对某些应用的访问等等。

您可以查看此示例并检查设备管理员或设备所有者应用程序是否具有您需要的所有功能。

于 2020-02-04T10:38:29.397 回答