Ответ 1
Короткий ответ: я не верю, что для игровых сервисов нужны эти разрешения. Также не требуется android.permission.ACCESS_NETWORK_STATE
или android.permission.INTERNET
, которые также добавляются.
Более длинный ответ: Глядя на мой манифестный журнал слияний, кажется, что все четыре из этих разрешений включены по запросу игровых сервисов-карт, которые -location связывает сам по себе. Мое приложение не использует -maps, just -location.
Кроме того, я обнаружил, что это поведение появилось в версии 7.5.0 для play-services-location; предыдущие версии не включали -maps и не добавляли эти разрешения.
Я действительно подозреваю, что это соединение с play-services-maps является случайным и будет удалено в будущей версии GMS.
Следуя ссылке, предоставленной Марком Мерфи (CommonsWare), вы можете удалить эти разрешения из своего приложения, добавив в свой манифест следующие строки:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" tools:node="remove" />
<uses-permission android:name="android.permission.INTERNET" tools:node="remove" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
Обратите внимание, что вам также понадобится xmlns:tools="http://schemas.android.com/tools"
в вашем открывшемся элементе <manifest ... >
, чтобы они работали. И обычные оговорки применяются: мое приложение отлично работало после этого шага, но YMMV.
Обновление 10 сентября 2015 года: Марк Мерфи (@commonsware) сделал отличную запись по этому вопросу в своем блоге, включая обсуждение риски моего решения.