AOSP如何阻止安装来自未知来源的应用程序

11

是否有办法在自定义的Android操作系统中阻止用户从未知来源安装应用程序?

我正在尝试使用AOSP源创建Android操作系统的自定义变体,在其中,我想允许用户仅从我在构建过程中指定的可信来源安装应用程序。

禁用开发人员选项和USB调试。解决方案应该阻止用户从各种可能的来源安装应用程序,例如通过侧载或连接到系统。


1
请查看此链接:https://dev59.com/vWMl5IYBdhLWcg3wFjkC - UrosKekovic
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);
    }
}

2
如果你正在从AOSP源代码构建,这是一个快速且容易的修复方法。对于Android 10,我稍微修改了补丁,但核心是相同的。 https://gist.github.com/djmuhlestein/be15a80062f98dc904810a13ef2c9daf - Dennis

0

您可以创建一个设备策略控制器(DPC)应用程序,禁用从未知来源安装应用程序,阻止访问某些应用程序等等。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接