我最近从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让我想要在脸上打一个方形。
答案 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
确保你一直读到底部,因为有一些重要的警告。