ps-после перезагрузки я также хотел убить все нежелательные процессы, кроме моего конкретного приложения и его дочерних процессов, для запуска в эмуляторе.
Если это действительно то, что вы хотите сделать - переназначить сборку Android в качестве стандартного встроенного Linux, то способ сделать это - создать образ виртуального диска (который Android упаковывает в ядро), содержащий файл init.rc, который запускает ваше приложение, а не нативные сервисы android и (java-esque dalvik) android runtime. Для восстановления виртуального диска требуется Unix-подобная ОС и таинственная командная строка cpio, которую вы можете найти в веб-поиске. Я хотел бы оставить там запуск ADB, чтобы вы могли отлаживать различные вещи, которые могут пойти не так.
В целях тестирования, просто набрав «stop» в оболочке adb, вы выключите среду выполнения android и получите виртуальную карманную коробку linux без пользовательского интерфейса. Все еще будут работать некоторые нативные службы, но они могут быть скорее помощью, чем вредом. В конечном итоге вам может понадобиться установить значения OOM killer для добавляемых вами вещей, хотя без времени выполнения это может не быть проблемой в ближайшей перспективе, если вы не потребляете много памяти.
Или, если вы хотите иметь очень закрытый и ограниченный пользовательский интерфейс, встроенный в среду выполнения Android, вместо этого вы должны разработать собственный домашний экран, протестировать его на неизмененном эмуляторе, а затем развернуть его в сборке. настроены так, чтобы не было никаких средств для установки других приложений.