Google Play Services 8.3.0 で追加された新しいProviderで
com.google.android.gms.measurement.AppMeasurementContentProvider
という名前のandroid:authoritiesをすでに使っているアプリがインストール済みの状態で、同じProviderの設定をしているアプリをインストールしようすると「アプリをインストールできない」(エラーコード:-505(INSTALL_FAILED_CONFLICTING_PROVIDER) or プロバイダの認証が重複しています) が発生します。
Issue 784: Multiple apps using same authority provider name for AppMeasurementContentProvider
https://code.google.com/p/analytics-issues/issues/detail?id=784
Issue 189079: Error -505
https://code.google.com/p/android/issues/detail?id=189079
AndroidStudioの場合、application projectのbuild.gradleに以下のような
applicationIdを指定しておくと、providerのandroid:authoritiesの値にapplicationId
が含まれるので衝突は起きませんが、cordovaは最近までデフォルトでセットされていなかったようです。
android {
:
:
defaultConfig {
applicationId = "your.applicationid.here"
}
Gradle variable applicationId is not set, creates issue with Google Play services 8.3.0
https://issues.apache.org/jira/browse/CB-10014
if another app also includes the Google Play services library 8.3.0 it will fail to install on the device
with an INSTALL_FAILED_CONFLICTING_PROVIDER error because the name isn't unique
AndroidStudioの場合、リリースビルドで生成される
build/intermediates/manifests/release/AndroidManifest.xml
の中身が以下のようになっているかチェックします
<provider
android:name="com.google.android.gms.measurement.AppMeasurementContentProvider"
android:authorities="your.applicationid.google_measurement_service"
android:exported="false" tools:replace="android:authorities" />