无法找到ContentProvider的提供商信息

时间:2012-10-08 18:33:21

标签: android android-manifest android-contentprovider

我已经看到了一些类似的帖子,但我已经在ContentProvider注册了AndroidManifest

我有ContentProvider名为MyContentProvider

MyContentProvider位于名为MyProject的图书馆项目中。包裹位置personal.mobile.abc.angry.tiger.MyContentProvider


此项目的AndroidManifest看起来像这样(省略了与之无关的信息):

<application
    android:label=...
    android:icon=...
    android:theme=...>
    <provider
        android:name="personal.mobile.abc.angry.tiger.MyContentProvider"
        android:authorities="personal.mobile.abc.angry.tiger">
    </provider>
</application>


Lint一直这么说:

The <provider> personal.mobile.abc.angry.tiger.MyContentProvider is not registered in the manifest.

Logcat在尝试运行包含包含ContentProvider的库的应用程序时说这个:

Failed to find provider info for personal.mobile.abc.angry.tiger

我做错了什么?有什么问题?

如果您需要任何进一步的信息,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:6)

您的<provider>元素必须位于应用程序中,因为它是ContentProvider的元素。实现ContentProvider的Java类碰巧在Android库项目中的事实并没有改变托管应用程序是负责该提供程序的事实。

最终 - 也许只要ADT 21 - 库项目中的<provider>元素就可以自动添加到您的应用程序项目中。现在,AFAIK,这个过程是手动的。