Nếu bạn đang sử dụng Google Maps + Google Play Services trong dự án thư viện (đặc biệt nếu gần đây bạn đã di chuyển từ Eclipse sang Android Studio), bạn có thể gặp phải lỗi này khi bạn cố chạy một ứng dụng sử dụng thư viện của mình, trong khi một ứng dụng khác sử dụng cùng một thư viện đã được cài đặt trên thiết bị của bạn.
Khắc phục:
đảm bảo rằng defaultConfig.applicationId được xác định trong phần android của build.gradle
tệp cho mỗi dự án bằng thư viện của bạn
android {
defaultConfig.applicationId = "com.company.appname"
}
Tôi sẽ khuyên bạn nên sử dụng tên gói của ứng dụng cụ thể. Với sửa lỗi này, tên nhà cung cấp sẽ không còn xung đột và ứng dụng của bạn sẽ chạy như mong đợi.
Triệu chứng
1.) Người dùng của bạn đang thấy lỗi cài đặt "-505" đáng sợ khi cài đặt ứng dụng của bạn từ Cửa hàng Play.
2.) Bạn sẽ thấy thông báo lỗi này khi bạn cố gắng cài đặt ứng dụng thứ hai sử dụng thư viện của mình qua Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER]:
Trong bảng điều khiển của bạn, bạn sẽ thấy một thông báo như thế này:
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
Cách khắc phục là đảm bảo defaultConfig.applicationId được xác định trong phần android của build.gradle
tệp cho mỗi dự án bằng thư viện của bạn
android {
defaultConfig.applicationId = "com.company.appname"
}
Đọc thêm có thể được tìm thấy ở đây trong báo cáo lỗi ban đầu: Vấn đề 784: Nhiều ứng dụng sử dụng cùng tên nhà cung cấp thẩm quyền
android:authorities
thuộc tính trongAndroidManifest
provider
thẻ của mình . Tôi đã sử dụng dự án đó như dự án thư viện Android của tôi bằng dự án thư viện này. Tôi đã phát triển một vài dự án. Làm thế nào để giải quyếtinstall_failed_conflicting_provider
vấn đề nếu chúng ta sử dụng dự án thư viện chung.