Check out what’s new from Firebase at Google I/O 2022. Learn more

অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইসের সাথে পরীক্ষা শুরু করুন

ফায়ারবেস টেস্ট ল্যাবের জন্য অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (AVDs) হল Android ডিভাইসের হাই-ফিডেলিটি সিমুলেশন। টেস্ট ল্যাবে AVD-এর প্রাপ্যতা সর্বাধিক এবং প্রতিদিনের বিকাশ বা ক্রমাগত ইন্টিগ্রেশন পরীক্ষার জন্য সবচেয়ে উপযোগী। এগুলি অ্যান্ড্রয়েড স্টুডিওর জন্য AVD- এর মতোই কিন্তু ক্লাউড পরীক্ষার মাধ্যমে পারফরম্যান্সের জন্য অপ্টিমাইজ করা হয়েছে, তাই উভয়ের মধ্যে কিছু পার্থক্য রয়েছে (উদাহরণস্বরূপ, টেস্ট ল্যাবে AVD-এ ওয়াইফাই সংযোগের পরিবর্তে একটি অনুকরণ করা ডেটা সংযোগ রয়েছে)৷

কেন আপনি ভার্চুয়াল ডিভাইস ব্যবহার করা উচিত?

শারীরিক ডিভাইসের সাথে তুলনা করলে ভার্চুয়াল ডিভাইসগুলির নিম্নলিখিত সুবিধা রয়েছে:

  • উচ্চ উপলব্ধতা: ভার্চুয়াল ডিভাইসগুলির সাথে পরীক্ষা করার সময় আপনি পরীক্ষা চালাতে এবং পরীক্ষার ফলাফল আরও দ্রুত পেতে পারেন। যেহেতু ভার্চুয়াল ডিভাইসগুলি চাহিদা অনুযায়ী তৈরি করা হয়, আপনার পরীক্ষাগুলি প্রায় অবিলম্বে শুরু হয়, আপনার অ্যাপের দ্রুত বৈধতা প্রদান করে। এটি ভার্চুয়াল ডিভাইসগুলিকে আপনার অ্যাপের ছোট আপডেট পরীক্ষা করার জন্য বা রিগ্রেশন পরীক্ষার জন্য আদর্শ করে তোলে।
  • দীর্ঘ পরীক্ষার সময়কাল: শারীরিক ডিভাইসে পরীক্ষা প্রতিটি ডিভাইসে 45 মিনিটের পরীক্ষার সময়সীমার মধ্যে সীমাবদ্ধ। ভার্চুয়াল ডিভাইসগুলি 60 মিনিট পর্যন্ত একটি পরীক্ষার সময়কাল সমর্থন করে, যা তাদের দীর্ঘ পরীক্ষা চালানোর জন্য উপযুক্ত করে তোলে এবং বিশেষ করে একটি অ্যাপের কার্যকারিতা পরিমাপের জন্য।
  • কম খরচ: আপনার অ্যাপ পরীক্ষা করার জন্য ব্যবহৃত প্রতিটি ভার্চুয়াল ডিভাইসের জন্য ভার্চুয়াল ডিভাইসের দাম প্রতি ঘণ্টায় $1। যেহেতু সেগুলি কম খরচে, ভার্চুয়াল ডিভাইসগুলি ক্রমাগত ইন্টিগ্রেশন সিস্টেম ব্যবহার করে বা কোড চেক করার আগে প্রতিদিনের পরীক্ষার জন্য উপযুক্ত। আরও জানতে, টেস্ট ল্যাব বিলিং দেখুন।

ভার্চুয়াল ডিভাইসগুলির সাথে আপনার অ্যাপটি কীভাবে পরীক্ষা করবেন

আপনি আপনার অ্যাপটিকে ভার্চুয়াল ডিভাইসগুলির সাথে পরীক্ষা করতে পারেন যেভাবে আপনি এটিকে শারীরিক ডিভাইসগুলির সাথে পরীক্ষা করেন৷ আপনি যখন একটি টেস্ট ম্যাট্রিক্স কনফিগার করতে পরীক্ষার মাত্রা নির্বাচন করেন তখন কেবল ভার্চুয়াল ডিভাইসগুলি নির্বাচন করুন৷

আপনার অ্যাপ পরীক্ষা করার জন্য সর্বোত্তম অনুশীলন

টেস্ট ল্যাবের সাথে আপনার অ্যাপ পরীক্ষা করার সময় ভার্চুয়াল ডিভাইসগুলি আপনার বিকল্পের পরিসর বাড়ায়। আমরা আপনার অ্যাপ ডেভেলপমেন্ট লাইফসাইকেল জুড়ে আপনার অ্যাপ পরীক্ষা করার জন্য নিম্নলিখিত পদ্ধতির পরামর্শ দিই:

  • অ্যান্ড্রয়েড স্টুডিওতে: আপনার অ্যাপ ডেভেলপ করার সময়, প্রাথমিক বৈধতার জন্য প্রতিটি বিল্ড পরীক্ষা করতে অ্যান্ড্রয়েড স্টুডিও এমুলেটর বা একটি সংযুক্ত ফিজিক্যাল ডিভাইস ব্যবহার করুন। আপনার যদি ইন্সট্রুমেন্টেশন পরীক্ষা থাকে, তাহলে আপনি টেস্ট ল্যাব দ্বারা প্রদত্ত শারীরিক বা ভার্চুয়াল ডিভাইসগুলিতে অ্যান্ড্রয়েড স্টুডিও থেকে এই পরীক্ষাগুলি চালাতে পারেন।
  • একটি জেনেরিক লো-রেজোলিউশন মাঝারি DPI (MDPI) ভার্চুয়াল ডিভাইসের সাথে টেস্ট ল্যাব ব্যবহার করুন: আপনি অন্যান্য ভার্চুয়াল ডিভাইসের তুলনায় টেস্ট ল্যাব জেনেরিক লো-রেজোলিউশনের MDPI ফোন ভার্চুয়াল ডিভাইসের সাথে আপনার অ্যাপে আরও দ্রুত রোবো পরীক্ষা এবং ইন্সট্রুমেন্টেশন পরীক্ষা চালাতে পারেন। MDPI ভার্চুয়াল ডিভাইস API স্তর 23 এবং তার উপরে উপলব্ধ। gcloud কমান্ড-লাইন ইন্টারফেস থেকে এই ডিভাইসটি ব্যবহার করতে, NexusLowRes মডেল আইডি ব্যবহার করুন।
  • শেয়ার্ড প্রোজেক্টে কাজ করার সময় প্রতিটি কোড পরিবর্তনে কন্টিনিউয়াস ইন্টিগ্রেশন (CI) সিস্টেম ব্যবহার করুন: আপনি যদি একটি বড় প্রোজেক্টে কাজ করেন, অথবা আপনি যদি GitHub বা অনুরূপ সাইট ব্যবহার করে শেয়ার করা প্রোজেক্টে অবদান রাখেন, তাহলে আমরা আপনাকে কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ব্যবহার করার পরামর্শ দিই। সিস্টেম এবং আপনার অ্যাপগুলিকে ভার্চুয়াল ডিভাইসে পরীক্ষা করুন প্রতিবার যখন CI সিস্টেম চলে, বা প্রতিটি পুল অনুরোধের আগে। সিআই সিস্টেমের সাথে টেস্ট ল্যাব ব্যবহার সম্পর্কে আরও জানতে, ক্রমাগত ইন্টিগ্রেশন সিস্টেমের সাথে অ্যান্ড্রয়েডের জন্য টেস্ট ল্যাব ব্যবহার দেখুন।
  • উল্লেখযোগ্য অ্যাপ আপডেট প্রকাশ করার আগে: আমরা UI এবং কার্যকারিতাতে উল্লেখযোগ্য পরিবর্তন সহ অ্যাপ আপডেট প্রকাশ করার আগে আপনার অ্যাপটি শারীরিক ডিভাইসে পরীক্ষা করার জন্য টেস্ট ল্যাব ব্যবহার করার পরামর্শ দিই। এটি নিশ্চিত করতে সাহায্য করবে যে আপনার অ্যাপটি জনপ্রিয় শারীরিক ডিভাইসগুলির একটি বিস্তৃত পরিসরে ভালভাবে চলে এবং ভার্চুয়াল ডিভাইসগুলির দ্বারা অনুকরণ করা হয় না এমন শারীরিক ডিভাইস বৈশিষ্ট্যগুলির উপর নির্ভর করে এমন কোনও অ্যাপ কার্যকারিতার জন্য পরীক্ষা কভারেজ নিশ্চিত করে৷ এই বৈশিষ্ট্যগুলি সম্পর্কে আরও জানতে, পরিচিত সীমাবদ্ধতাগুলি দেখুন।

পরিচিত সীমাবদ্ধতা

কিছু শারীরিক ডিভাইস বৈশিষ্ট্য বর্তমানে ভার্চুয়াল ডিভাইস দ্বারা অনুকরণ করা হয় না, বা কিছু সীমাবদ্ধতার সাথে অনুকরণ করা হয়। নিম্নলিখিত সারণীতে সেই বৈশিষ্ট্যগুলির সংক্ষিপ্ত বিবরণ দেওয়া হয়েছে যেগুলি বর্তমানে ভার্চুয়াল ডিভাইসগুলিতে অনুপলব্ধ, বা যেগুলি নির্দিষ্ট সীমাবদ্ধতার সাথে উপলব্ধ:

বৈশিষ্ট্য বিস্তারিত
নন-x86 অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABIs) ভার্চুয়াল ডিভাইস শুধুমাত্র x86 ABI সমর্থন করে। আপনি যদি Android NDK এর সাথে বিকাশ করছেন, তাহলে নিশ্চিত করুন যে আপনি x86 নির্দেশনা সেটের জন্য কোড তৈরি করেছেন। আরও জানতে, ABI ম্যানেজমেন্ট দেখুন।

দ্রষ্টব্য: যদি আপনার পরীক্ষার ম্যাট্রিক্সের কিছু পরীক্ষা অবৈধ হিসেবে চিহ্নিত করা হয়, তাহলে এটি হতে পারে কারণ আপনার অ্যাপটি নেটিভ ARM কোডের উপর নির্ভর করে।
ভিডিও এনকোডিং এবং ডিকোডিং বর্তমানে, ভার্চুয়াল ডিভাইসে শুধুমাত্র H264 ভিডিও ডিকোডিং সমর্থিত। ভিডিও এনকোডিং সমর্থিত নয়।

দ্রষ্টব্য: ভার্চুয়াল ডিভাইস পরীক্ষার ভিডিওগুলি বর্তমানে প্রতি সেকেন্ডে একটি ফ্রেমে চলে, যা শারীরিক ডিভাইস পরীক্ষার ভিডিওগুলির চেয়ে কম মসৃণ করে।
OpenGL ES 3.x OpenGL ES 3.x এবং উচ্চতর গ্রাফিক্স লাইব্রেরি ভার্চুয়াল ডিভাইসে উপলব্ধ নয়।
ক্যামেরা HAL v3 অ্যান্ড্রয়েড ক্যামেরা HAL v3.0 সম্পর্কে আরও জানতে, ক্যামেরা HAL v3 ওভারভিউ দেখুন।
ভার্চুয়াল প্রাইভেট নেটওয়ার্ক (ভিপিএন) বর্তমানে, ভার্চুয়াল ডিভাইসে VPN ব্যবহার সমর্থিত নয়।