অ্যাপের জন্য ChromeOS ডিভাইস সমর্থন

আপনি বেশ কয়েকটি গুগল ক্রোমবুকে অ্যান্ড্রয়েড অ্যাপ ইনস্টল করতে গুগল প্লে স্টোর ব্যবহার করতে পারেন। এই ডকুমেন্টে আপনি যেসব ক্রোমবুক, ক্রোমবক্স এবং ক্রোমবেস ব্যবহার করে অ্যান্ড্রয়েড অ্যাপ ইনস্টল করতে পারবেন তার বর্ণনা দেওয়া হয়েছে।

সংক্ষিপ্ত বিবরণ

বেশিরভাগ অ্যান্ড্রয়েড ফোনেই ARM চিপসেট থাকে। তবে, অনেক ChromeOS ডিভাইস x86 চিপ ব্যবহার করে। Kotlin বা Java তে লেখা বেসিক অ্যাপের ক্ষেত্রে এই পার্থক্যটি গুরুত্বপূর্ণ নয়। তবে, C/C++ কোডে লেখা অ্যাপের ক্ষেত্রে, গেম ইঞ্জিন দিয়ে তৈরি অ্যাপ সহ, ডিভাইসের চিপসেট একটি গুরুত্বপূর্ণ উদ্বেগের বিষয় হতে পারে।

আদর্শভাবে, C/C++ কোড সহ সমস্ত অ্যাপ এবং গেম চারটি প্রধান Android ABI (অ্যাপ্লিকেশন বাইনারি ইন্টারফেস) সহ আসে: armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32), এবং x86_64। এটি প্রতিটি ডিভাইসের জন্য সর্বোত্তম কর্মক্ষমতা এবং সর্বনিম্ন ব্যাটারি খরচ প্রদান করে। উদাহরণস্বরূপ, একটি cmake-ভিত্তিক build.gradle ফাইলে থাকতে পারে:

খাঁজকাটা

externalNativeBuild {
    cmake {
        abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
    }
}

কোটলিন

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

অ্যান্ড্রয়েড প্যাকেজ কিট (APK) আকার

একটি একক APK-তে প্রতিটি ABI এর আকার বৃদ্ধি করে। এটি আপনার ব্যবহারকারীর ডিস্ক ব্যবহার, অ্যাপ ডাউনলোডের আকার এবং অ্যাপটি প্লে স্টোরের আকার সীমা দ্বারা প্রভাবিত কিনা তা প্রভাবিত করতে পারে। এটি এড়াতে সবচেয়ে ভালো উপায় হল Android অ্যাপ বান্ডেল ব্যবহার করা।

অ্যাপ বান্ডেল আপনাকে আপনার ব্যবহারকারীদের জন্য ডাউনলোডের আকার না বাড়িয়ে অ্যান্ড্রয়েড স্টুডিওর মধ্যে থেকে চারটি ABI বান্ডেল করতে দেয়। এগুলি আপনাকে ডায়নামিক ডেলিভারির সুবিধা নিতেও সাহায্য করে, ব্যবহারকারীরা কেবল অনুরোধ করলেই বড় গেমের সামগ্রী ডাউনলোড করতে দেয়। যদি অ্যাপ বান্ডেল আপনার জন্য সম্ভব না হয়, তাহলে আপনি একই আচরণের জন্য পুরানো মাল্টি-এপিকে ব্যবহার করতে পারেন।

৩২-বিট এবং ৬৪-বিট বিল্ড

সমস্ত অ্যান্ড্রয়েড অ্যাপের অবশ্যই 64-বিট বিল্ড সংস্করণ থাকতে হবে। ARM এবং x86 উভয় ডিভাইসের জন্য 32-বিট বিল্ড ঐচ্ছিক। আরও তথ্যের জন্য অ্যান্ড্রয়েড 64-বিট⁠ দেখুন।

শুধুমাত্র ৬৪-বিট বিল্ড প্রদান করলে বিল্ড টার্গেটের সংখ্যা এবং আপনার পরীক্ষার পৃষ্ঠ হ্রাস পায়, তবে এটি আপনার গেমটি চালানোর জন্য প্রয়োজনীয় ডিভাইসের ধরণকেও সীমিত করে। উদাহরণস্বরূপ, অন্যান্য হার্ডওয়্যার সীমাবদ্ধতার কারণে, অনেক পুরানো ক্রোমবুক ৬৪-বিট সিপিইউ থাকা সত্ত্বেও শুধুমাত্র ৩২-বিট অ্যান্ড্রয়েড অ্যাপ চালাতে পারে। আপনার অ্যাপটি এই ডিভাইসগুলিতে চলতে পারে তা নিশ্চিত করার জন্য, ৩২ এবং ৬৪-বিট উভয় সমর্থন অন্তর্ভুক্ত করুন।

এআরএম অনুবাদ

x86 Chromebook গুলি যখনই সম্ভব ARM কোড অনুবাদ করার চেষ্টা করে, কিন্তু অনুবাদ কর্মক্ষমতা ধীর করে দেয় এবং ব্যাটারির ব্যবহার বাড়ায়। সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতার জন্য, x86 বিল্ড প্রদান করুন। যদি আপনি না পারেন, তাহলে আপনার বিল্ডগুলিতে arm32 এবং arm64 ABI উভয়ই অন্তর্ভুক্ত করুন, কারণ কিছু x86 Chromebook গুলি arm64 কোড অনুবাদ করতে পারে না। উদাহরণস্বরূপ, অন্যান্য হার্ডওয়্যার সীমাবদ্ধতার কারণে, অনেক পুরানো Chromebook 64-বিট CPU থাকা সত্ত্বেও শুধুমাত্র 32-বিট অ্যান্ড্রয়েড অ্যাপ চালাতে পারে। এই ডিভাইসগুলিতে আপনার অ্যাপটি চালাতে সাহায্য করার জন্য, 32 এবং 64-বিট উভয় সমর্থন অন্তর্ভুক্ত করুন।

যদিও সমস্ত অ্যান্ড্রয়েড-সক্ষম Chromebook-এ arm32 অনুবাদ উপলব্ধ, সমস্ত Chromebook arm64 কোড অনুবাদ করতে পারে না। এর অর্থ হল যদি আপনার গেমটিতে কেবল arm64 বিল্ড টার্গেট থাকে, তবে এটি প্রচুর সংখ্যক ChromeOS ডিভাইসের জন্য উপলব্ধ নয়। যদি আপনি x86 বাইনারি পাঠাতে অক্ষম হন, তাহলে আপনার বিল্ডগুলিতে arm32 এবং arm64 ABI উভয়ই অন্তর্ভুক্ত করুন।

অন্তর্ভুক্ত ABI গুলি ChromeOS এর জন্য সমর্থন
আর্ম৬৪ দরিদ্র
arm32 এবং arm64 ঠিক আছে (অনুবাদ সহ)
arm32, arm64, x86_32, এবং x86_64 সেরা