标记<provider>属性权限具有无效字符&#39; $&#39;。 AndroidManifest.xml中/ FacebookActivity

时间:2017-02-04 12:48:42

标签: android eclipse facebook

我尝试在facebook sdkEclipse创建一个图书馆项目。 此错误显示:

  

标记属性权限具有无效字符   &#39; $&#39 ;. AndroidManifest.xml / FacebookActivity第44行Android AAPT   问题

以下是Manifest

的一部分
<provider
    android:name="com.facebook.internal.FacebookInitProvider"
    android:authorities="${applicationId}.FacebookInitProvider"
    android:exported="false" />

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您正在尝试使用清单占位符。 AFAIK,Eclipse不支持。请注意,对于Android应用开发,Google不再支持Eclipse本身。

或者:

  • 将所有出现的${applicationId}替换为您应用的应用包名称,或

  • 切换到Android Studio

答案 1 :(得分:0)

因此,在构建应用时, Gradle构建会将所有清单文件合并到一个已打包到APK中的清单文件中。 但 Ant版本默认不合并清单。您可以选择从手动依赖应用程序的每个库的清单中复制活动和提供者标记,或者通过放置&#34; manifestmerger.enabled = true&#34;来尝试启用清单合并。进入&#34; project.properties&#34;您应用的项目。 我用第一种情况。然后我将第二个提供者标签添加到我的AndroidManifest.xml:

<!--provider from facebook sdk manifest-->
<provider
    android:authorities="com.example.hellofacebook.FacebookInitProvider"
    android:name="com.facebook.internal.FacebookInitProvider"
    android:exported="false" />

只需将您的应用套餐名称替换为$ {applicationId},并且不要忘记在库的清单中替换$ {applicationId},以便能够将其编译为应用的依赖项。