Что такое разрешение Android «WRITE_GSERVICES»?

Существует загадочное и недокументированное разрешение Android: WRITE_GSERVICES . Как обычно, документальная документация Googles еще более загадочна, чем любая плохая сказка, написав:

android.permission.WRITE_GSERVICES      Allows an application to modify the Google service map.

Однако Googling (!) для Google Service Map не дает ничего полезного.

Что он контролирует и для чего он используется?

8 голосов | спросил not2qubit 9 FebruaryEurope/MoscowbMon, 09 Feb 2015 22:02:00 +0300000000pmMon, 09 Feb 2015 22:02:00 +030015 2015, 22:02:00

1 ответ


8

Обратите внимание, что это разрешение почти полностью недокументировано, поэтому нам нужно почувствовать наш путь к его реальному значению. Таким образом, это никоим образом не является «авторитетным ответом» - но более или менее чем-то между «хорошим догадком» и «выводом из других указателей».

Официальное описание этого разрешения (как сказано, нет дополнительной документации):

  

Позволяет программе изменять карту сервиса Google.

Итак, теперь мы можем догадаться, что это значит. Давайте сделаем «обратную инженерию» для этого, чтобы почувствовать наш путь в нее. Райан уже дал некоторые указатели в своем комментарии , ссылаясь на два вопроса SO:

Чтение между строками: всякий раз, когда приложение хочет использовать (части) Google Services Framework , оно должно объявить READ_GSERVICES требуется - что очень похоже на требование GET_ACCOUNTS, если вы хотите USE_CREDENTIALS: сначала приложение должно убедиться, что необходимая услуга доступна вообще, прежде чем обращаться к ней.

Это дает нам представление о том, что должна Карта Google Service : какой-то индекс для доступных (установленных) сервисов Google.

Теперь, когда мы обнаружили это, мы можем хорошо догадаться, для чего может быть предназначено разрешение WRITE_GSERVICES - и почему оно защищено с помощью уровня защиты system (это означает, что он предоставляется только «системным приложениям», т.е. тем, которые интегрированы в ПЗУ, который устанавливается на раздел /system): Если READ_GSERVICES предназначенный для определения того, какие службы Google доступны, WRITE_GSERVICES должен быть его встречной частью update , что сервисная карта , Например, всякий раз, когда новая служба была установлена ​​(или удалена), чтобы обновить «индекс сервисов Google, доступных на устройстве» - «Карта сервиса Google».

Только в этом контексте мне интересно, почему это разрешение принадлежит группе ACCOUNTS ...


См. также:

ответил Izzy 10 FebruaryEurope/MoscowbTue, 10 Feb 2015 16:36:57 +0300000000pmTue, 10 Feb 2015 16:36:57 +030015 2015, 16:36:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132