প্যাকেজ A (পুরাতন / বেস সংস্করণ)
প্রথমে .apk / .xapk ফাইলে ক্লিক করুন বা ড্রপ করুন
প্যাকেজ বি (নতুন / আপডেট সংস্করণ)
দ্বিতীয় .apk / .xapk ফাইলে ক্লিক করুন বা ড্রপ করুন
কেন APK সংস্করণ তুলনা ব্যর্থ আপডেট প্রতিরোধ করে
আপনি যখন একটি বিদ্যমান ইনস্টলেশনের মাধ্যমে একটি Android অ্যাপের একটি নতুন সংস্করণ ইনস্টল করেন, তখন Android এর PackageManager দুটি কঠোর নিয়ম প্রয়োগ করে: নতুন প্যাকেজের versionCode ইনস্টল করা বিল্ডের চেয়ে বড় বা সমান হতে হবে এবং META-INF/ (বা APK সাইনিং ব্লক v2/v3) এর মধ্যে স্বাক্ষরকারী শংসাপত্রটি অবশ্যই বাইট-ফর-বাইট আইডেন্টিকাল হতে হবে।
- সাইনিং সার্টিফিকেট ডাইজেস্ট ম্যাচ: উভয় প্যাকেজে .RSA / .DSA / .EC স্বাক্ষর ব্লকের SHA-256 ফিঙ্গারপ্রিন্ট গণনা করে যাতে আপনি অবিলম্বে জানতে পারেন যে ইন-প্লেস আপডেট আনইনস্টল না করে সফল হবে কিনা।
- স্থানীয় ABI এবং DEX পার্থক্য: হাইলাইট করে যে একটি আপডেট 32-বিট armeabi-v7a লাইব্রেরি ছিনিয়ে নিয়েছে বা নতুন classes*.dex ফাইল যোগ করেছে।
- CRC32 এন্ট্রি ডেল্টা: বিল্ডগুলির মধ্যে যোগ করা বা সরানো সঠিক ফাইলগুলির তালিকা করে৷
Android কীভাবে প্যাকেজ আপডেটগুলিকে মূল্যায়ন করে (INSTALL_FAILED_UPDATE_INCOMPATIBLE)
একটি সাইডলোড করা অ্যাপ আপডেট করার সময় ব্যবহারকারীরা সবচেয়ে ঘন ঘন যে ত্রুটির সম্মুখীন হন তা হল "একটি বিদ্যমান প্যাকেজের সাথে প্যাকেজের বিরোধের কারণে অ্যাপ ইনস্টল করা হয়নি" (ADB লগগুলিতে INSTALL_FAILED_UPDATE_INCOMPATIBLE নামে পরিচিত)৷ এটি ঘটে যখনই ইনস্টল করা অ্যাপটি Google Play Store থেকে আসে (ডেভেলপারের ব্যক্তিগত রিলিজ কী দিয়ে স্বাক্ষরিত) এবং আপডেটটি একটি স্প্লিট .xapk আর্কাইভ থেকে রূপান্তরিত হয় (যা স্প্লিট মার্জ করার পর কনভার্টার সাইনিং কী দিয়ে পুনরায় সাইন করতে হয়)।
যাইহোক, যদি আপনার পুরানো সংস্করণ এবং আপনার নতুন সংস্করণ উভয়ই xapktoapk.com ব্যবহার করে রূপান্তরিত হয়, তবে আমাদের নির্ধারক স্বাক্ষর পাইপলাইন রূপান্তর জুড়ে একই ধারাবাহিক স্বাক্ষর শংসাপত্র ব্যবহার করে—অর্থাৎ আপনি আনইনস্টল না করে বা আপনার ইন-অ্যাপ অগ্রগতি না হারিয়ে সরাসরি পুরানো রূপান্তরিত APK-এর উপরে নতুন রূপান্তরিত APK ইনস্টল করতে পারেন! আপনি ইনস্টল করার আগে উভয় ফাইল একই শংসাপত্র ডাইজেস্ট ভাগ করে তা নিশ্চিত করতে উপরের তুলনা সরঞ্জামটি ব্যবহার করুন৷