【发布时间】:2014-11-20 15:57:31
【问题描述】:
我在我的应用中使用 Google 通知,到目前为止,我已经在清单中完成了以下操作:
<!-- GCM -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <!-- This app has permission to register and receive data message. -->
<!-- Creates a custom permission so only this app can receive its messages. NOTE: APP_PACKAGE.permission.C2D_MESSAGE -->
<permission android:name="com.myapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.myapp.permission.C2D_MESSAGE" />
<!-- END GCM -->
在我将 Nexus 7 更新到 Android 5.0 之前,它运行良好。
现在,当我尝试使用 Eclipse 在此设备中安装应用程序时,我收到此错误:
INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.myapp.permission.C2D_MESSAGE pkg=com.myapp
我不明白有什么问题?在 Android 5.0 之前它一直运行良好。
我知道我在两行中使用了C2D_MESSAGE,permission 和uses-permission,但我已经从原始 Google GCM 指南中复制了该代码,所以它一定没问题。
【问题讨论】:
-
你最初为一个不起眼的错误(好吧,我做了......)实际上是一个新的安全功能,可以防止两个应用程序声明使用不同签名签名的相同自定义权限,以安装在一个设备
-
@NullPointerException 您能否接受这个答案,因为它对很多人都有帮助。
标签: android google-cloud-messaging android-notifications android-5.0-lollipop