2016-05-23 78 views
1

我最近從API 21切換到了23,以創建Android Wear手錶。
爲了簡潔起見,我不會評論這個痛苦的過程。 (1)

當我上傳到谷歌播放我注意到,新的API有加,未經本人同意,4個新的權限:
Android Wear新(不需要)權限

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" /> 

怎麼(heck)我擺脫這些?


(1)很少的API讓我想衝在人臉上方這麼多。並且可能並不需要他們爲你做什麼 -

回答

2

額外的權限可能受到谷歌的Play服務的某些部分加入。

解決方案#1是隻使用谷歌的片段播放,你真正需要的服務。在您的磨損模塊的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

請務必閱讀一路底部,因爲有一些重要的注意事項。

+1

play-services-wearable:x.y.x確實是罪魁禍首。擺脫它。將APK大小縮小一半。謝謝。 – MonoThreaded

相關問題