Я проводил некоторые эксперименты с Android, чтобы заблокировать телефон ребенка. В идеале я хотел бы, чтобы он мог использовать только приложения, которые были предварительно установлены на телефоне; он тратит слишком много времени на игры по телефону. Я обнаружил, что могу отключить Google Play Store на телефоне (после рута), введя команду pm disable com.android.vending
.
Тем не менее, я подозреваю, что этот параметр не будет сохраняться после сброса телефона фабрикой (он знает, как это было сделано, когда я заблокировал его телефон с помощью стороннего приложения).
Мне удалось собрать и запустить AOSP на телефоне и установить необходимые Gapps для Google Fi (наш оператор) и другие базовые функции, но я хочу, чтобы мой окончательный образ Android по умолчанию был com.android.vending отключен по умолчанию, если явно не включен повторно после, скажем, сброса к заводским настройкам.
Теперь мои знания об Android несколько ограничены, но из того, что я обнаружил в некоторых источниках pm
, я могу сказать, что состояние по умолчанию включено / отключено указано в файле AndroidManifest.xml в пакете APK. Поскольку я пытаюсь отключить приложение Google, я, вероятно, не смогу изменить это.
Итак, вместо этого я пытался выяснить через источник в pm, как именно pm
помечает приложение как отключенное. К сожалению, мои Java-понимания ужасны, поэтому я не смог выяснить что-нибудь о внутренней работе pm
.
Можно ли как-нибудь отключить com.vending.android в корне системы по умолчанию при сборке AOSP?
Обновление 1 : Похоже, что статус отключенного приложения зависит от пользователя. Таким образом, отключение приложения для одного пользователя не отключается для любых других. Но, безусловно, где-то есть файл глобальных настроек, который наследует пользовательская конфигурация ...?
Обновление 2 : похоже, pm
работает с состоянием в памяти, которое не сохраняется (по крайней мере, для системных приложений) даже после перезагрузки.