我在游戏中使用Google Play游戏服务和BaseGameUtils库,但它在我的应用程序中添加了权限"读取手机状态和身份"。这绝对有必要吗?我见过其他应用程序在不需要许可的情况下使用谷歌游戏服务。
BaseGameUtils的build.gradle根据"com.google.android.gms:play-services-games:8.1.0"API编译。(它也使用play services plus进行编译,但这并没有造成问题)
我测试过旧版本/新版本(7.5.0/8.4.0),但都是一样的。
提前谢谢。
编辑:
我还检查了组件清单中播放服务游戏所需的权限:ANDROID_SDK/extras/google/m2repository.com/google/ANDROID/gms/play services-games/7.5.0/play-services-games-7.5.0.aar,但它没有"使用权限"标签。(每个Google Play Services组件需要什么权限?)
编辑#2:我的解决方案是使用以下行在应用程序清单中明确删除它:
<uses-permission android:name="android.permission.READ_PHONE_STATE"
tools:node="remove"/>
我发现这两个API都没有为我添加任何权限,但很明显,当我使用BaseGameUtils编译时,它确实添加了(尽管BaseGameUtil的Manifest没有添加任何权限)。真的很奇怪
Play Game Services绝对不需要任何权限(隐含的是使用互联网权限与服务器通信)。现在最新版本的play服务游戏(8.x)也不依赖于plus。
为了确认,我建议从Android Basic samples中构建一个示例,并验证该示例中使用了哪些权限。
接下来,我会查看您包括的任何其他库(广告提供商?分析提供商?),看看他们的库是否需要电话许可。