ライブラリプロジェクト内でGoogleマップ+ Google Playサービスを使用している場合(特に、最近EclipseからAndroid Studioに移行した場合)、ライブラリを使用するアプリを実行しようとすると、このエラーが発生する可能性があります。同じライブラリがすでにデバイスにインストールされています。
修正:
defaultConfig.applicationIdがbuild.gradle
、ライブラリを使用する各プロジェクトのファイルのandroidセクションで定義されていることを確認してください
android {
defaultConfig.applicationId = "com.company.appname"
}
特定のアプリのパッケージ名を使用することをお勧めします。この修正により、プロバイダー名が競合することはなくなり、アプリは期待どおりに実行されます。
症状
1.)Playストアからアプリをインストールすると、ユーザーに恐ろしい「-505」インストールエラーが表示されます。
2.)Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER]を介してライブラリを使用する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セクションで定義されていることを確認することです
android {
defaultConfig.applicationId = "com.company.appname"
}
詳しくは、元のバグレポート:問題784:同じ権限プロバイダー名を使用する複数のアプリをご覧ください。
android:authorities
属性を使用しましたAndroidManifest
provider
。私はいくつかのプロジェクトを開発したこのライブラリプロジェクトを使用して、このプロジェクトをAndroidライブラリプロジェクトとして使用しました。install_failed_conflicting_provider
共通ライブラリプロジェクトを使用した場合の問題の解決方法。