我希望将 Firebase 云消息传递添加到我的应用程序中。我跟着codelab https://codelabs.developers.google.com/codelabs/firebase-android/index.html?index=..%2F..%2Findex#8教程,它在示例应用程序中工作正常,但是当我尝试添加<service>
标记到我的应用程序发生清单合并错误。
奇怪的是,它无需将这些服务添加到我的清单文件中即可工作!
这是错误:
错误:packageName/app/src/main/AndroidManifest.xml:52:9-58:19 错误:
AndroidManifest.xml:52:9-58:19 处的元素 service#packageName.firebase.MyFirebaseInstanceIdService 与 AndroidManifest.xml:44:9-50:19 处声明的元素重复
packageName/app/src/main/AndroidManifest.xml 错误:
验证失败,退出
失败:构建失败并出现异常。
这是我的 AndroidManifest.xml 文件的一部分:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.violete.selfienight">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name="net.violete.selfienight.leafpic.MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme.FullScreen">
<activity
android:name=".CameraActivity"
android:icon="@mipmap/ic_launcher"
android:label="@string/title_camera_activity"
android:screenOrientation="landscape"
android:taskAffinity=".CameraActivity"
android:theme="@style/AppTheme.FullScreen">
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<service
android:name=".firebase.MyFirebaseInstanceIdService"
>
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".firebase.MyFirebaseInstanceIdService"
>
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
...
</application>
</manifest>
我的问题是,Firebase 库是否在构建过程中将这些标签添加到我的清单中,或者这里出了什么问题?
您拥有相同的服务(.firebase.MyFirebaseInstanceIdService
) 列出两次。这是行不通的。要么有一个<service>
元素包含两个<intent-filter>
元素,或者有两个具有不同类的独立服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)