使用 Facebook ShareLink 标记 <provider> 属性权限在 AndroidManifest.xml 中具有无效字符“{”
Tag <provider> attribute authorities has invalid character '{' in AndroidManifest.xml using Facebook ShareLink
虽然我删除了“{}”大括号,但它仍然出现。
<provider
android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider{facebook_app_id}"
android:exported="true" />
将您发布的代码段中的 {facebook_app_id} 替换为您的 Facebook 应用程序 ID。
我也一样:IDE 重新插入了大括号。我剪切了部分,重新启动 Android Studio 并粘贴了它。然后就成功了。
格式应为:android:authorities="com.facebook.app.FacebookContentProvider0123456789"
,其中 012345678
是您的 Facebook app ID
。在 不使用 {
字符的情况下使用它。所以你的 provider
标签应该是:
<provider
android:authorities="com.facebook.app.FacebookContentProvider0123456789"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
但是,如果您不小心已经使用了 {
字符,那么您很可能会遇到 Android Studio 错误,因为它是 reported here。问题是您正在尝试编辑 错误的清单 。 Android Studio build message 弹出的清单不是 应用程序的清单。
因此,只需打开应用程序的清单,即可毫无问题地对其进行编辑。
您在错误的位置添加了 <provider../>
标签
- 删除
<provider../>
标签
- 关闭Android清单
尝试"Sync Project with Grandle Files"
再次构建项目
- 打开Android清单
- 在应用程序标签关闭之前添加标签,不带括号“{}”
...
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider7779..."
android:exported="true" />
</application>
希望对您有所帮助
虽然我删除了“{}”大括号,但它仍然出现。
<provider
android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider{facebook_app_id}"
android:exported="true" />
将您发布的代码段中的 {facebook_app_id} 替换为您的 Facebook 应用程序 ID。
我也一样:IDE 重新插入了大括号。我剪切了部分,重新启动 Android Studio 并粘贴了它。然后就成功了。
格式应为:android:authorities="com.facebook.app.FacebookContentProvider0123456789"
,其中 012345678
是您的 Facebook app ID
。在 不使用 {
字符的情况下使用它。所以你的 provider
标签应该是:
<provider
android:authorities="com.facebook.app.FacebookContentProvider0123456789"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
但是,如果您不小心已经使用了 {
字符,那么您很可能会遇到 Android Studio 错误,因为它是 reported here。问题是您正在尝试编辑 错误的清单 。 Android Studio build message 弹出的清单不是 应用程序的清单。
因此,只需打开应用程序的清单,即可毫无问题地对其进行编辑。
您在错误的位置添加了 <provider../>
标签
- 删除
<provider../>
标签 - 关闭Android清单
尝试"Sync Project with Grandle Files"
再次构建项目
- 打开Android清单
- 在应用程序标签关闭之前添加标签,不带括号“{}”
...
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider7779..."
android:exported="true" />
</application>
希望对您有所帮助