কাটলফিশ ভার্চুয়াল অ্যান্ড্রয়েড ডিভাইস

কাটলফিশ হলো একটি কনফিগারযোগ্য ভার্চুয়াল অ্যান্ড্রয়েড-চালিত ডিভাইস যা দূরবর্তীভাবে (গুগল ক্লাউড ইঞ্জিনের মতো তৃতীয় পক্ষের ক্লাউড পরিষেবা ব্যবহার করে) এবং স্থানীয়ভাবে (লিনাক্স x86 এবং ARM64 মেশিনে) উভয় স্থানেই চালানো যায়।

কাটলফিশের লক্ষ্য

  • কোড পরিবর্তন তৈরি ও যাচাই করার জন্য প্ল্যাটফর্ম এবং অ্যাপ ডেভেলপারকে ভৌত হার্ডওয়্যারের উপর নির্ভরশীলতা থেকে মুক্ত করুন।
  • মূল ফ্রেমওয়ার্কের সাথে নিবিড় সামঞ্জস্য বজায় রেখে উচ্চ নির্ভুলতার উপর মনোযোগ দিয়ে একটি বাস্তব ডিভাইসের ফ্রেমওয়ার্ক-ভিত্তিক আচরণ অনুকরণ করুন।
  • ২৮-এর পরবর্তী সকল এপিআই স্তর সমর্থন করে।
  • ভৌত হার্ডওয়্যারের আচরণের সাথে সামঞ্জস্য রেখে, বিভিন্ন এপিআই স্তরে কার্যকারিতার একটি সামঞ্জস্যপূর্ণ মান প্রদান করুন।
  • স্কেল সক্ষম করুন:

    • একই সাথে একাধিক ডিভাইস চালানোর সুবিধা প্রদান করুন।
    • কম খরচে উচ্চ নির্ভুলতার সাথে যুগপৎ পরীক্ষা সম্পাদন সক্ষম করুন।
  • এমন একটি কনফিগারযোগ্য ডিভাইস সরবরাহ করুন, যার মাধ্যমে ফর্ম ফ্যাক্টর, র‍্যাম এবং সিপিইউ-এর মতো বিষয়গুলো সমন্বয় করা যাবে।

কাটলফিশকে অন্যান্য ডিভাইসের সাথে তুলনা করুন

এই অংশে কাটলফিশকে অন্যান্য ডিভাইসের সাথে তুলনা করা হয়েছে।

কাটলফিশ এবং অ্যান্ড্রয়েড এমুলেটর

অ্যান্ড্রয়েড এমুলেটরের সাথে এর অনেক মিল থাকলেও, কাটলফিশ অ্যান্ড্রয়েড ফ্রেমওয়ার্কের প্রতি সম্পূর্ণ বিশ্বস্ত (সেটি বিশুদ্ধ AOSP হোক বা আপনার নিজস্ব ট্রি-তে তৈরি কোনো কাস্টম ইমপ্লিমেন্টেশন হোক)। বাস্তব প্রয়োগের ক্ষেত্রে, এর অর্থ হলো, আপনি আশা করতে পারেন যে কাটলফিশ আপনার ইন্টারঅ্যাকশনগুলোতে ওএস লেভেলে ঠিক সেভাবেই সাড়া দেবে, যেভাবে একই কাস্টমাইজড বা বিশুদ্ধ অ্যান্ড্রয়েড ওএস সোর্স দিয়ে তৈরি একটি বাস্তব ফোন সাড়া দেয়।

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

কাটলফিশ এবং ভৌত যন্ত্র

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

কাটলফিশ কীভাবে সাহায্য করতে পারে

ডিবাগিংয়ের জন্য ব্যবহৃত অন্য যেকোনো অ্যান্ড্রয়েড ডিভাইসের মতোই আপনি কাটলফিশের সাথে ইন্টারঅ্যাক্ট করতে পারেন। এটি adb-এর মাধ্যমে নিজেকে একটি সাধারণ ডিভাইস হিসেবে রেজিস্টার করে এবং আপনি রিমোট ডেস্কটপের সাহায্যে একটি বাস্তব ডিভাইসের মতো এর সাথে ইন্টারঅ্যাক্ট করতে পারেন। এর ব্যবহারের ক্ষেত্র ব্যাপক এবং এর মধ্যে অ্যাপ টেস্টিং, কাস্টম সিস্টেম বিল্ড টেস্টিং এবং আরও অনেক কিছু অন্তর্ভুক্ত থাকতে পারে।

যেহেতু কাটলফিশ সম্পূর্ণ ফ্রেমওয়ার্ক বিশ্বস্ততা বজায় রাখার চেষ্টা করে, তাই এটি আপনার ফ্রেমওয়ার্ক বা অ্যাপের কার্যকরী পরীক্ষার জন্য ব্যবহার করা যেতে পারে, যেখানে এমন কোনো ভৌত হার্ডওয়্যার নির্ভরতা নেই যা অনুকরণ করা অসম্ভব।

বর্তমানে পরীক্ষার জন্য কীভাবে কাটলফিশ ব্যবহার করা হয়

পরীক্ষার জন্য কাটলফিশের কিছু সাধারণ প্রয়োগ হলো:

  • সিটিএস
  • কাঠামো সম্মতি
  • ক্রমাগত ইন্টিগ্রেশন টেস্টিং
  • কাস্টম টেস্ট স্যুট

মেঘের মধ্যে হোস্ট কাটলফিশ

কাটলফিশ স্বাভাবিকভাবেই গুগল ক্লাউডকে সমর্থন করে এবং অন্যান্য ক্লাউড প্ল্যাটফর্মের জন্য সমর্থন আনার পরিকল্পনা রয়েছে।

শুরু করুন

AOSP-ভিত্তিক Cuttlefish ইনস্ট্যান্স তৈরির নির্দেশনার জন্য, Use Cuttlefish দেখুন।