А что будет, если я смешаю два правила?
Это невозможно. Двоеточие не заглавная буква.
Мне нужно, чтобы два компонента из двух пакетов работали в одном и том же процессе, чтобы сэкономить ресурсы (и чтобы в диспетчере приложений не было двух «запущенных приложений»).
Это действительно не очень хорошая идея. Поместите их в один пакет или сделайте так, чтобы они работали независимо.
Вам не только придется возиться с android:process
, но вы также должны возиться с android:sharedUserId
. Ни один из них не предназначен для использования обычными разработчиками SDK, особенно android:sharedUserId
. Фактически, если вы уже распространили свое приложение, вы не сможете использовать android:sharedUserId
, если вы не захотите сломать все приложения ваших существующих пользователей, поскольку вы больше не сможете получить доступ к своему исходному данные, поскольку они будут принадлежать какой-либо другой учетной записи пользователя.
Кроме того, если у вас нет доказательств обратного, я бы не предположил, что это каким-то образом «позволит избежать двух« запущенных приложений », перечисленных в диспетчере приложений».
Теперь я за эффективность, поэтому создание дополнительных процессов для ухмылок (например, неверный совет по запуску «удаленных служб» в пользовательских процессах) - плохая идея. И если вы работаете на производителя устройств или фирму с более чем 20+ разработчиками Android или чем-то еще, и вы хотите возиться с этим, вам нужно будет найти места, где оно используется в AOSP, и перепроектировать информацию вы ищете, так как этот материал серьезно недокументирован. И даже там, я не вижу, чтобы он использовался между несколькими пакетами, за исключением android.process.acore
и com.android.phone
, которые являются серьезно низкоуровневыми процессами и не будут типичными для приложений без микропрограмм.
Следовательно, я действительно рекомендую вам оставить эти вещи в покое.