Android SDKのNotesListサンプルプログラムを試しています。私はプログラムを少し変更しましたが、編集したバージョンをインストールすると、元のノートプログラムがすでにデバイスにインストールされているときに、コンソールにINSTALL_FAILED_CONFLICTING_PROVIDERというメッセージが表示され続けます。固有のデータベースにするためにプロバイダで何を変更する必要がありますか?元のノートプログラムをアンインストールしてから編集したバージョンをインストールするとうまくいきます。コンソールにインストールエラーが表示されます。インストール失敗FAX番号
答えて
権限マニフェストで宣言されている認証局+プロバイダ名。 the documentation for this attribute引用:
は、競合を避けるために、権限名はJavaスタイルの命名規則を使用する必要があります(例えばcom.example.provider.cartoonproviderなど)。通常、これはプロバイダを実装するContentProviderサブクラスの名前です
一意でなければなりませんandroid:authorities
に記載されているあなたは、おそらく
これは、アプリケーションの古いバージョンがインストールされ、(サポート)ライブラリまたはマニフェストファイルに変更が加えられた場合にも発生します。デバイスから古いアプリケーションを削除すると(Settings --> Application --> <your application> --> Uninstall
)、問題は解決します。
パッケージの名前を変更した後に同じエラーが発生することがあります。 AndroidManifest.xmlのstring.xmlにあるandroid:authorities
の値を確認してください。
<provider
android:authorities="@string/content_authority"
android:name=".data.Provider"
... />
string.xmlの値は、マニフェストで宣言されているパッケージ名と同じにする必要があります。あなたは別の味を持っていて、機関名での衝突を回避したい場合
<string name="content_authority">com.whatever.android.sunshine.app</string>
あなたは、このように、種類を構築し、自分のマニフェストに結果applicationId
を使用するようapplicationIdSuffix
を追加することができます。
<...
android:authorities="${applicationId}.contentprovider"/>
あなたは私の問題を解決するのを助けてくれますか?私は異なる味のために同じ問題に直面している。 –
各製品のフレーバー定義に独自の 'applicationId'を定義することができます。 https://developer.android.com/studio/build/build-variants.html#product-flavors –
私はあなたがこれを行う場合は、とにかくそれぞれの味のために異なる 'applicationId'を作成するために持っているとして、それは異なる製品の風味を修正すると思います。異なるbuildTypesがある場合は、それらの間で 'applicationId'を異ならせてください。これが' applicationIdSuffix'プロパティがすることです。 – chubbsondubs
の場合ライブラリプロジェクト内でGoogleマップとGoogle Playサービスを使用している場合(特に最近EclipseからAndroid Studioに移行した場合)、ライブラリを使用するアプリを実行しようとするとこのエラーが発生する可能性があります。同じライブラリが既にデバイスにインストールされています。
修正: あなたのライブラリーを使用してdefaultConfig.applicationIdは、プロジェクトごとにbuild.gradle
ファイルのアンドロイドセクションで定義されていることを確認し
android {
defaultConfig.applicationId = "com.company.appname"
}
私は、特定のアプリのパッケージ名を使用することをお勧めします。この修正により、プロバイダー名はもはや競合しなくなり、アプリケーションは期待どおりに実行されます。
症状
1)ユーザーはPlayストアからのアプリをインストールするときにエラーをインストール恐ろしい「-505」を見ています。
2。
:あなたのコンソールで、あなたがこのようなメッセージが表示されます。)あなたは[INSTALL_FAILED_CONFLICTING_PROVIDER] Androidのメーカーを経由して、あなたのライブラリーを使用する第2のアプリをインストールしようとすると、このエラーメッセージが表示されます
Package couldn't be installed in /data/app/com.company.appname-1
com.android.server.pm.PackageManagerException:
Can't install because provider name
com.google.android.gms.measurement.google_measurement_service
(in package com.company.appname) is already used by
com.company.otherInstalledAppName
修正があなたのライブラリーを使用してdefaultConfig.applicationIdは、プロジェクトごとにbuild.gradle
ファイルのアンドロイドのセクションで定義されていることを確認することです
android {
defaultConfig.applicationId = "com.company.appname"
}
もっと読書は、元のバグレポートにここで見つけることができます:私はアプリのパッケージ名を変更しようとしたときIssue 784: Multiple apps using same authority provider name
EclipseからAndroid Studioへプロジェクトを「単純に」移動した後にこのエラーが発生し、このヒントがこの問題を解決しました。ありがとう –
@PhilippeGirolamiは "単純に"確かに。非常に大きなプロジェクトをEclipseからStudioに完全に移行するには約1か月かかりましたが、Eclipseでは10〜15秒と比較して4分以上のビルド時間で罰せられました。 – DiscDev
残念なことに、ここで非常に似たような経験です。私はこのことについてウェブ上で遭遇していることを少し驚いています... –
は、基本的にこれは、私と一緒に起こりました。
エミュレータでは、同じアプリが以前にインストールされていました。私は、パッケージ名を変更した後にアプリケーションをインストールしようとしたとき、デバイス内の古いアプリケーションがすでに使用している権限があると言いました。
アプリケーションをアンインストールしただけで、問題が解決しました。
また、権限名は常に次のとおりです。your.package.name.UNIQUENAME
;
例:あなたはFacebookのSDKを使用している場合
<provider
android:name="com.aviary.android.feather.cds.AviaryCdsProvider"
android:authorities="your.package.name.AviaryCdsProvider"
/>
、問題はあなたがFacebookのプロバイダを提供する「当局」の値であるかもしれません。
はREPLACE - WITH
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider"
android:exported="true" />
- >
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider[YOUR_APP_ID]"
android:exported="true" />
をあなたは他の回答で示唆されているようにもdefaultConfig.ApplicationId
を変更する必要があります。
私は私のアプリではなかったので、私は計装のテストケースを実行していた...私は、問題についての詳細を与えたい...
を多くの解決策を試してみましたが、解決策を見つけることができませんでした...しかし、このlinkが助けてくれましたランチャーに表示されていますが、インストールされているため、同じコンテンツプロバイダを使用しています。だから、私は何とかそれをアンインストールする必要があります。だから、Settings -> Application Manager -> All Downloaded Apps -> uninstall all apps from your current development package
さて、これは動作します...実行しよう...
コマンド./adb install -r abc.apk
でADBを使用してインストールすることで問題を解決します(これは、デバイスが高いアプリのバージョンを持っている場合でも、上書きされます)
あなたがAndroidManifest
ファイル内のプロバイダタグのためのアプリのチェック内のFacebookを使用している場合とandroid:authorities
<provider android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider112623702612345" android:exported="true" />
のためにあなたのproject Id
が正しいか確認してください、私は場合にも同様の問題を抱えていました私はいくつかのアプリケーションで1つのライブラリを使いました。 AndroidManifestを更新するだけでした。xmlの下にこの正確なプロバイダ宣言があります。私は同じアプリの異なる味をインストールしたAndroidデバイスで
<manifest ...>
<application ...>
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.here.this.library.provider" android:exported="false" android:grantUriPermissions="true" tools:replace="android:authorities">
</provider>
</application>
</manifest>
。これは私にエラーFAILED対処プロバイダをインストールします。 同じアプリのすべてのフレーバーをアンインストールします。
adb install -r /Users/demo-debug-92acfc5.apk
と試みたがそれは私の問題を解決しました。
- 1. 電子メールでFAX番号を表示する(Opencart)
- 2. ページ番号が表示されない
- 3. 部品番号 - 失敗テスト
- 4. カルマ - ジャスミン:テストが失敗したときに行番号を表示
- 5. 番号をクリックすると電話番号が表示されます
- 6. iText HeaderFooter - 次の行にページ番号が表示されます
- 7. Androidソフトキーボードのショー番号が最初に表示されます
- 8. データテーブルで10個以上のレコードが表示されている場合はページ番号が表示されます。ページ番号は表示されません
- 9. NUnitアサーションの失敗をC++の行番号を表示するには?
- 10. RightFax埋め込みコード:FAX番号が無効と見なされる
- 11. 行番号が表示されませんか?
- 12. RMarkdown ioslides - スライド番号がブラウザに表示されない
- 13. エコーに正しい番号が表示されない
- 14. 制限番号の提案がtypeahead.jsに表示される
- 15. IE 9デバッガのコンソール文の行番号を表示
- 16. asp.netのURLにページング番号が表示されていますか?
- 17. Hudson失敗したビルドのビルド番号を増やさない
- 18. Google Prettify:行番号が表示されない
- 19. 入力タイプ= "番号"スピナーがブートストラップで表示されない1.4
- 20. 送信後に成功/失敗メッセージのポップアップボックスが表示されますか?
- 21. Yiがインストールに失敗しました
- 22. 画像表示コードが失敗する
- 23. ループに表示された順番に投稿番号を付けるには
- 24. iTunesConnectのcrashlogは部分的に記号化されています。行番号は表示されません
- 25. Cocoaアプリ、Xcodeコンソール - レッド番号
- 26. pipインストール要件が失敗します
- 27. npmインストールjqueryが失敗します
- 28. Ecto Postgresのインストールエラーのパスワード認証に失敗しました
- 29. ASP.NET表示SVNリビジョン番号
- 30. jQueryオートコンプリートではコンソールに結果が表示されますが、ドロップダウンでは表示されません。
@ CommonsWare私は 'AndroidManifest'の' provider'タグに 'android:authorities'属性を使用しました。私はこのライブラリプロジェクトを使用して私のアンドロイドライブラリプロジェクトとしてそのプロジェクトを使用しました。私はいくつかのプロジェクトを開発しました。共通ライブラリプロジェクトを使用した場合、 'install_failed_conflicting_provider'の問題を解決する方法。 – Jamal
@jamal:Androidスタジオなど、Android用Gradleを使用している場合は、マニフェストマージオプションを使用してオーソリティストリングを調整できます。それ以外の場合は、ライブラリのマニフェストから ' 'を削除し、固有の権限文字列でアプリケーションレベルで定義します。 CommonsWare先生@ –
CommonsWare
あなたは(独自の権限文字列を使用してアプリケーションレベル)をマージする方法私を導いてくださいすることができ、実際に私はアンドロイドのスタジオに新しいです – Jamal