জেনেরিক সিস্টেম ইমেজ (GSI) হল পিওর Android ইমপ্লিমেন্টেশন, যা অপরিবর্তিত Android ওপেন সোর্স প্রজেক্ট (AOSP) কোড সহ বিভিন্ন ধরনের Android ডিভাইসে রান করা যায়।
অ্যাপ ডেভেলপাররা বিভিন্ন ধরনের আগে থেকেই থাকা Android ডিভাইসে এবং ডেভেলপার প্রিভিউ ও বিটা বিল্ড সহ বিভিন্ন Android OS রিলিজ স্টেজ থেকে GSI ব্যবহার করে অ্যাপ টেস্টিং পারফর্ম করতে লেটেস্ট Android GSI ইনস্টল ও রান করতে পারেন। আপনার যাচাইকরণ ও টেস্টিং প্রসেসে GSI যোগ করলে, আপনি কিছু অতিরিক্ত সুবিধা পেতে পারেন:
- আরও বেশি সংখ্যক আসল ডিভাইসে আরও বেশি টেস্ট কভারেজ
- অ্যাপ কম্প্যাটিবিলিটি সংক্রান্ত সমস্যা সমাধানের জন্য আরও সময়
- অ্যাপ ডেভেলপারদের থেকে পাওয়া অভিযোগের ভিত্তিতে Android-এ কম্প্যাটিবিলিটি সংক্রান্ত সমস্যা সমাধানের আরও সুযোগ
GSI প্রোজেক্ট হল ওপেন সোর্স এবং Android-এর প্রতিটি রিলিজের আগে অ্যাপ ও OS কোয়ালিটি উন্নত করার আরও উপায় প্রদান করে Android ইকোসিস্টেম উন্নত করতে সাহায্য করে।
GSI-তে সেইসব ডিভাইসের জন্য একই ধরনের মূল সিস্টেম ফাংশনালিটি থাকে যেগুলিতে এটি ইনস্টল করা হয়। অন্যভাবে বলতে গেলে, GSI-তে ডিভাইস প্রস্তুতকারকের কাস্টমাইজেশন অন্তর্ভুক্ত থাকে না। এই কারণে, আপনি নিম্নলিখিত পরিস্থিতিতে আচরণগত পার্থক্য দেখতে পেতে পারেন:
- UI-এর সাথে ইন্টার্যাকশন
- নতুন হার্ডওয়্যার ফিচার ব্যবহার করার অনুরোধ করে এমন ওয়ার্কফ্লো
ডিভাইস নীতি মেনে চলছে কিনা তা চেক করা
GSI শুধুমাত্র নিম্নলিখিত বৈশিষ্ট্যযুক্ত ডিভাইসে কাজ করতে পারে:
- বুটলোডার আনলক করা আছে।
- সম্পূর্ণ Treble-কমপ্লায়েন্ট।
- Android 9 (API লেভেল 28) বা এর পরের যেকোনও ভার্সন দিয়ে লঞ্চ করা হয়েছে। আগের কোনও ভার্সন থেকে Android 9-এ আপগ্রেড করা ডিভাইসে GSI কাজ করতেও পারে, নাও করতে পারে।
আপনার ডিভাইস GSI ব্যবহার করতে পারবে কিনা এবং কোন GSI OS ভার্সন আপনার ইনস্টল করা উচিত তা নির্ধারণ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
নিম্নলিখিত কমান্ড চালিয়ে Treble কাজ করে কিনা চেক করুন:
adb shell getprop ro.treble.enabled
উত্তর
falseহলে, ডিভাইসটি GSI-এর সাথে মানানসই নয় এবং আপনাকে চালিয়ে যাওয়া উচিত নয়। উত্তরtrueহলে, পরবর্তী ধাপে যান।নিম্নলিখিত কমান্ড চালিয়ে ক্রস-ভার্সন সাপোর্ট আছে কিনা চেক করুন:
adb shell cat /system/etc/ld.config.version_identifier.txt \ | grep -A 20 "\[vendor\]"
আউটপুটে,
[vendor]বিভাগেnamespace.default.isolatedদেখুন।সেই অ্যাট্রিবিউটের ভ্যালু
trueহলে, ডিভাইসটি সম্পূর্ণভাবে ভেন্ডর নেটিভ ডেভেলপমেন্ট কিট (VNDK) সাপোর্ট করে এবং ডিভাইসে থাকা OS ভার্সনের থেকে নতুন যেকোনও GSI অপারেটিং সিস্টেম (OS) ভার্সন ব্যবহার করতে পারে। সম্ভব হলে, উপলভ্য লেটেস্ট GSI OS ভার্সন ব্যবহার করুন।অ্যাট্রিবিউটের ভ্যালু
falseহলে, ডিভাইসটি সম্পূর্ণভাবে VNDK-কমপ্লায়েন্ট নয় এবং ডিভাইসটি একই অন-ডিভাইস OS ভার্সনের জন্য শুধুমাত্র একটি GSI ব্যবহার করতে পারে। যেমন, Android 10 (API ভার্সন 29) ডিভাইস যা VNDK-কমপ্লায়েন্ট নয়, সেটি শুধুমাত্র Android 10 GSI ইমেজ লোড করতে পারে।GSI CPU আর্কিটেকচার টাইপ ডিভাইসের CPU আর্কিটেকচারের সাথে মিলতে হবে। GSI ছবির জন্য সঠিক CPU আর্কিটেকচার খুঁজে পেতে, নিচের কমান্ডটি রান করুন:
adb shell getprop ro.product.cpu.abi
আপনার ডিভাইস ফ্ল্যাশ করার সময় কোন GSI ইমেজ ব্যবহার করতে হবে তা নির্ধারণ করতে আউটপুট ব্যবহার করুন। যেমন, Pixel 5-এ, আউটপুট থেকে বোঝা যাবে যে CPU আর্কিটেকচার হল
arm64-v8a, তাই আপনাকেarm64ধরনের GSI ব্যবহার করতে হবে।
GSI ডাউনলোড করা
আপনার ডেভেলপমেন্টের প্রয়োজনীয়তার উপর নির্ভর করে, GSI পাওয়ার কয়েকটি উপায় আছে:
- GMS সহ Android প্রিভিউ GSI এবং Android GSI-এর জন্য, GSI রিলিজ পৃষ্ঠা থেকে ছবি ডাউনলোড করুন।
GMS অ্যাপ্লিকেশন ছাড়া আগে থেকে তৈরি GSI ছবির জন্য, AOSP CI সাইট থেকে ছবি ডাউনলোড করুন:
GMS ছাড়া Android GSI তৈরি করতে, AOSP থেকে সোর্স কোড ডাউনলোড করুন এবং আপনার GSI তৈরি করুন।
GSI ইনস্টল করা
GSI ইনস্টল করা ডিভাইস-নির্ভর। সঠিক টুল ও পদ্ধতি জানতে আপনার ডিভাইসের প্রস্তুতকারকের সাথে যোগাযোগ করুন। Pixel 3 ও এর পরবর্তী যেকোনও ভার্সনের Google Pixel ডিভাইসের ক্ষেত্রে, ইনস্টল করার বিভিন্ন উপায় আছে:
- ম্যানুয়ালি GSI ইমেজ ফ্ল্যাশ করা: GSI ফ্ল্যাশ করার প্রয়োজনীয়তা দেখুন
- যেসব ডিভাইসে আগে থেকেই Android 10 বা এর পরবর্তী যেকোনও ভার্সন চলছে সেগুলির জন্য ডায়নামিক সিস্টেম আপডেট (DSU) ব্যবহার করা: ডায়নামিক সিস্টেম আপডেট পৃষ্ঠা দেখুন
মতামত জানান
GSI-এর উদ্দেশ্য হল Android-এ আপনার অ্যাপ যাচাই করতে সাহায্য করা। আপনার ডিভাইসে GSI ব্যবহার করার জন্য ছবি, টুল ও প্রসেস সম্পর্কে আপনার মতামতের জন্য আমরা কৃতজ্ঞ।
সমস্যা বা ফিচারের অনুরোধ সম্পর্কে আমাদের জানাতে, GSI-এর জন্য নির্দিষ্ট সমস্যা ট্র্যাকার কম্পোনেন্ট ব্যবহার করুন।