【发布时间】:2019-03-31 22:32:13
【问题描述】:
我一直在使用 Android 进行一些实验,以锁定孩子的手机。理想情况下,我希望他只能使用手机上预装的应用程序;他花费大量时间在手机上玩游戏。我发现我可以通过发出命令 pm disable com.android.vending 来禁用手机上的 Google Play 商店(一旦 root)。
但是,我怀疑孩子出厂重置手机时不会保留此设置(他知道如何操作,就像我之前用 3rd 方应用锁定他的手机时所做的那样)。
我已设法在手机上构建和运行 AOSP,并为 Google Fi(我们的运营商)和其他基本必需品安装了必要的 Gapp,但我希望我的最终 Android 映像默认为 com.android.vending 被禁用默认情况下,除非在恢复出厂设置后明确重新启用。
现在,我对 Android 的了解有些有限,但从我通过一些 pm 来源发现的情况来看,默认启用/禁用状态是在 APK 包内的 AndroidManifest.xml 中指定的。由于我正在尝试禁用 Google 应用,因此我可能无法对其进行修改。
所以,相反,我试图通过 pm 源找出 pm 究竟是如何将应用程序标记为禁用的。不幸的是,我对 Java 的理解很糟糕,所以我无法确定 pm 的内部运作方式。
在构建 AOSP 时,有什么方法可以在我的系统根目录中默认禁用 com.vending.android?
更新 1:应用禁用状态似乎取决于用户。因此,为一个用户禁用该应用程序并不会为其他任何用户禁用该应用程序。但是,可以肯定的是,用户配置继承自某个全局设置文件...?
更新 2:因此,看起来 pm 使用的内存状态即使在重新启动时也未保存(至少对于系统应用程序而言)。
【问题讨论】: