Android Wear新的(不需要的)权限

时间:2016-05-23 02:27:09

标签: permissions google-play android-manifest wear-os

我最近从API 21切换到23来创建Android Wear表盘 为了简洁起见,我不会评论难以忍受的过程。 (1)

当我上传到Google Play时,我注意到新API在未经我同意的情况下添加了4项新权利:

    Required permissions 6 permissions (4 added)
=>    android.permission.ACCESS_NETWORK_STATE
=>    android.permission.INTERNET
    android.permission.WAKE_LOCK
=>    com.google.android.c2dm.permission.RECEIVE
    com.google.android.permission.PROVIDE_BACKGROUND
=>    com.mycompany.mypackage.permission.C2D_MESSAGE

我仔细检查了包含“通常”的

的清单
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

我是如何(哎呀)摆脱这些呢?

(1)很少有API让我想要在脸上打一个方形。

1 个答案:

答案 0 :(得分:2)

Google Play服务的某些部分可能会添加额外的权限 - 而且您可能不需要这些权限。

解决方案#1仅使用您实际需要的Google Play服务。在Wear模块的build.gradle文件中,您可能有一个如下所示的条目:

dependencies {
    compile com.google.android.gms:play-service:8.4.0
}

然而,这将带来整个 Play服务库 - 这需要许多额外的权限。很可能你只需要这样:

    compile com.google.android.gms:play-services-wearable:8.4.0

......或者其他特定模块。但关键是,不要包含超过你需要的东西。

如果你尽可能地削减了dependencies,并且你仍然在你的合并清单中获得了额外的权限,那么你可能需要解决方案#2 - 我在不同的地方详细描述了回答:https://stackoverflow.com/a/31017339/252080

确保你一直读到底部,因为有一些重要的警告。