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



我最近从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让我想打别人的脸。

额外的权限可能是由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

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

最新更新