আপনি যদি কোনও গ্রন্থাগার প্রকল্পের ভিতরে গুগল মানচিত্র + গুগল প্লে পরিষেবাদি ব্যবহার করে থাকেন (বিশেষত আপনি যদি সম্প্রতি এক্লিপস থেকে অ্যান্ড্রয়েড স্টুডিওতে স্থানান্তরিত হয়ে থাকেন), আপনি যখন আপনার লাইব্রেরি ব্যবহার করে এমন একটি অ্যাপ্লিকেশন চালানোর চেষ্টা করার সময় আপনি এই ত্রুটির মুখোমুখি হতে পারেন, যখন অন্য একটি অ্যাপ্লিকেশন ব্যবহার করে একই গ্রন্থাগারটি ইতিমধ্যে আপনার ডিভাইসে ইনস্টল করা আছে।
ফিক্স:build.gradle
আপনার লাইব্রেরি ব্যবহার করে প্রতিটি প্রকল্পের জন্য ফাইলের
অ্যান্ড্রয়েড বিভাগে ডিফল্টConfig.applicationId সংজ্ঞায়িত হয়েছে তা নিশ্চিত করুন
android {
defaultConfig.applicationId = "com.company.appname"
}
আমি নির্দিষ্ট অ্যাপ্লিকেশনটির প্যাকেজের নাম ব্যবহার করার পরামর্শ দেব। এই ফিক্সটি দিয়ে, সরবরাহকারীর নামগুলি আর বিরোধ করবে না, এবং আপনার অ্যাপ্লিকেশন প্রত্যাশা অনুযায়ী চলবে।
লক্ষণ
১) প্লে স্টোর থেকে আপনার অ্যাপ্লিকেশন ইনস্টল করার সময় আপনার ব্যবহারকারীরা ভয়ঙ্কর "-505" ইনস্টল ত্রুটি দেখতে পাচ্ছেন।
২) অ্যান্ড্রয়েড স্টুডিও [INSTALL_FAILED_CONFLICTING_PROVIDER] এর মাধ্যমে আপনার লাইব্রেরি ব্যবহার করে এমন একটি দ্বিতীয় অ্যাপ্লিকেশন ইনস্টল করার চেষ্টা করার সময় আপনি এই ত্রুটি বার্তাটি দেখতে পাবেন:
আপনার কনসোলে আপনি একটি বার্তা দেখতে পাবেন:
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
ফিক্সটি নিশ্চিত করা যায় যে build.gradle
আপনার লাইব্রেরিটি ব্যবহার করে প্রতিটি প্রকল্পের জন্য ডিফল্টকনফিগ.এপ্লিকেশনআইডি ফাইলের অ্যান্ড্রয়েড বিভাগে সংজ্ঞায়িত করা হয়
android {
defaultConfig.applicationId = "com.company.appname"
}
মূল বাগের প্রতিবেদনে আরও পড়ার সন্ধান পাওয়া যাবে: ইস্যু 784: একই কর্তৃপক্ষ সরবরাহকারীর নাম ব্যবহার করে একাধিক অ্যাপ্লিকেশন
android:authorities
আমারAndroidManifest
provider
ট্যাগটিতে অ্যাট্রিবিউট ব্যবহার করেছি । আমি এই প্রকল্পটি আমার অ্যান্ড্রয়েড লাইব্রেরি প্রকল্প হিসাবে ব্যবহার করেছি এই লাইব্রেরি প্রকল্পটি ব্যবহার করে আমি কয়েকটি প্রকল্প বিকাশ করেছি।install_failed_conflicting_provider
আমরা যদি সাধারণ লাইব্রেরি প্রকল্প ব্যবহার করি তবে কীভাবে সমস্যাটি সমাধান করবেন ।