Android 佩戴新的(不需要的)权限

Android Wear new (unwanted) permissions

我最近从 API 21 切换到 23 以创建 Android 佩戴表盘。
为了简洁起见,我不会评论这个痛苦的过程。 (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

我仔细检查了包含我的 "usual"

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

我怎么(见鬼)摆脱这些?


(1) 很少有 API 让我如此想打某人的脸。

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 - 我在不同的答案:

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