1

私はこれに似た投稿をいくつか見ましたが、私はすでに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>


リントはこれを言い続けます:

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

ContentProviderそして、Logcatは、 :を含むライブラリを含むアプリケーションを実行しようとすると、これを言います。

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

私は何が間違っているのですか?どうした?

さらに詳しい情報が必要な場合は、お知らせください。

ありがとう!

4

1 に答える 1

6

が付い<provider>ている要素であるため、要素はアプリケーションに含まれている必要がありますContentProviderContentProviderたまたまAndroidライブラリプロジェクトにJavaクラスを実装しているという事実は、ホスティングアプリがそのプロバイダーを担当しているという事実を変えるものではありません。

最終的に(おそらくADT 21になるとすぐ<provider>に)、ライブラリプロジェクトの要素をアプリケーションプロジェクトに自動的に追加できるようになります。現在、AFAIK、そのプロセスは手動です。

于 2012-10-08T19:40:20.260 に答える