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

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

কাটলফিশ গোল

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

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

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

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

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

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

Cuttlefish এবং শারীরিক ডিভাইস

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

কিভাবে Cuttlefish সাহায্য করতে পারেন?

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

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

কিভাবে Cuttlefish সাধারণত আজ পরীক্ষার জন্য ব্যবহার করা হয়?

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

  • সিটিএস
  • ফ্রেমওয়ার্ক সম্মতি
  • ক্রমাগত ইন্টিগ্রেশন পরীক্ষা
  • কাস্টম পরীক্ষা স্যুট

আমি কি মেঘে কাটলফিশ হোস্ট করতে পারি?

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

শুরু হচ্ছে

AOSP-এর উপর ভিত্তি করে একটি কাটলফিশ ইনস্ট্যান্স তৈরির নির্দেশনার জন্য, কাটলফিশ ব্যবহার করুন দেখুন।

,

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

কাটলফিশ গোল

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

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

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

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

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

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

Cuttlefish এবং শারীরিক ডিভাইস

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

কিভাবে Cuttlefish সাহায্য করতে পারেন?

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

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

কিভাবে Cuttlefish সাধারণত আজ পরীক্ষার জন্য ব্যবহার করা হয়?

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

  • সিটিএস
  • ফ্রেমওয়ার্ক সম্মতি
  • ক্রমাগত ইন্টিগ্রেশন পরীক্ষা
  • কাস্টম পরীক্ষা স্যুট

আমি কি মেঘে কাটলফিশ হোস্ট করতে পারি?

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

শুরু হচ্ছে

AOSP-এর উপর ভিত্তি করে একটি কাটলফিশ ইনস্ট্যান্স তৈরির নির্দেশনার জন্য, কাটলফিশ ব্যবহার করুন দেখুন।