অ্যান্ড্রয়েড হল বিভিন্ন ফর্ম ফ্যাক্টর সহ বিস্তৃত ডিভাইসগুলির জন্য একটি অপারেটিং সিস্টেম৷ অ্যান্ড্রয়েডের জন্য ডকুমেন্টেশন এবং সোর্স কোড অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP) হিসাবে যে কেউ উপলব্ধ। আপনি আপনার নিজের ডিভাইসের জন্য Android OS এর কাস্টম ভেরিয়েন্ট তৈরি করতে AOSP ব্যবহার করতে পারেন।
AOSP ডিজাইন করা হয়েছে যাতে ব্যর্থতার কোন কেন্দ্রীয় বিন্দু নেই, যেখানে একজন শিল্প খেলোয়াড় অন্যের উদ্ভাবনকে সীমাবদ্ধ বা নিয়ন্ত্রণ করে। অতএব, AOSP হল একটি সম্পূর্ণ, উৎপাদন-মানের বিকাশকারী পণ্য যার উৎস কোড কাস্টমাইজেশন এবং পোর্টিংয়ের জন্য উন্মুক্ত।
ডকুমেন্টেশনের এই বিভাগটি নতুন AOSP ডেভেলপারদের প্ল্যাটফর্মের সাথে শুরু করতে এবং প্রয়োজনীয় ডেভেলপমেন্ট কাজগুলি করতে সাহায্য করে।
প্রয়োজনীয় শর্তাবলী
শুরু করা ডকুমেন্টেশন জুড়ে ব্যবহৃত পদ এবং সংজ্ঞাগুলির একটি তালিকা নীচে দেওয়া হল। আরও এগিয়ে যাওয়ার আগে আপনার প্রতিটি সংজ্ঞা অধ্যয়ন করা উচিত।
- অ্যান্ড্রয়েড অ্যাপ ডেভেলপার
অ্যান্ড্রয়েড অ্যাপ ডেভেলপাররা অ্যান্ড্রয়েড অ্যাপ বা অ্যাপ্লিকেশানগুলি লেখেন যা অ্যান্ড্রয়েডে চলে। অ্যাপ ডেভেলপারদের দুটি শ্রেণীবিভাগ রয়েছে: প্রথম-পক্ষ (1p) এবং তৃতীয়-পক্ষ (3p) অ্যাপ বিকাশকারী।
- অ্যান্ড্রয়েড প্রথম পক্ষের অ্যাপ ডেভেলপার
- একটি অ্যান্ড্রয়েড অ্যাপ ডেভেলপার যার AOSP সিস্টেম এপিআই-এ অ্যাক্সেস রয়েছে এবং বিশেষাধিকারপ্রাপ্ত এবং ডিভাইস প্রস্তুতকারক অ্যাপ লেখেন।
- অ্যান্ড্রয়েড থার্ড-পার্টি অ্যাপ ডেভেলপার
- একজন অ্যান্ড্রয়েড অ্যাপ ডেভেলপার যিনি শুধুমাত্র অ্যান্ড্রয়েড অ্যাপ তৈরি করতে অ্যান্ড্রয়েডের সর্বজনীন SDK ব্যবহার করেন।
আপনি যদি Android এর জন্য থার্ড-পার্টি অ্যাপস ডেভেলপ করতে চান তাহলে developers.android.com
দেখুন। এই ওয়েবসাইটের তথ্য শুধুমাত্র যারা AOSP-এর সাথে সরাসরি কাজ করছেন তাদের জন্য।
- অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি)
- একটি কমান্ড-লাইন টুল (
adb
) যা আপনার ওয়ার্কস্টেশনকে একটি ভার্চুয়াল, সফ্টওয়্যার-ইমুলেটেড বা শারীরিক ডিভাইসের সাথে যোগাযোগ করতে দেয়। - অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইস
- একটি ডিভাইস যা Android SDK এবং NDK ব্যবহার করে তৃতীয় পক্ষের বিকাশকারীদের দ্বারা লিখিত যেকোনো তৃতীয়-পক্ষের অ্যাপ চালাতে পারে। অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইসগুলিকে অবশ্যই কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD) এর প্রয়োজনীয়তাগুলি মেনে চলতে হবে এবং কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS) পাস করতে হবে৷ অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ ডিভাইসগুলি অ্যান্ড্রয়েড ইকোসিস্টেমে অংশগ্রহণের যোগ্য যার মধ্যে রয়েছে অ্যান্ড্রয়েড প্লে স্টোরের সম্ভাব্য লাইসেন্স, অ্যাপ্লিকেশন এবং এপিআইগুলির Google মোবাইল পরিষেবা (GMS) স্যুটের সম্ভাব্য লাইসেন্স এবং অ্যান্ড্রয়েড ট্রেডমার্কের ব্যবহার। যেকেউ অ্যান্ড্রয়েড সোর্স কোড ব্যবহার করতে স্বাগত জানাই, তবে অ্যান্ড্রয়েড ইকোসিস্টেমের অংশ হিসাবে বিবেচিত হতে হলে, একটি ডিভাইস অবশ্যই অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ হতে হবে। সামঞ্জস্য এবং CTS সম্পর্কে আরও তথ্যের জন্য, অ্যান্ড্রয়েড সামঞ্জস্যতা প্রোগ্রাম ওভারভিউ দেখুন
- সামঞ্জস্যপূর্ণ সংজ্ঞা নথি (CDD)
- একটি দস্তাবেজ যা একটি Android-সামঞ্জস্যপূর্ণ ডিভাইসের জন্য সফ্টওয়্যার এবং হার্ডওয়্যার প্রয়োজনীয়তাগুলি গণনা করে৷
- অবদানকারী
একজন ব্যক্তি যিনি AOSP সোর্স কোডে অবদান রাখেন। অবদানকারীরা Google-এর কর্মচারী, অন্যান্য কোম্পানির কর্মচারী এবং কোম্পানির কোনো সংশ্লিষ্টতা নেই এমন ব্যক্তি হতে পারে। প্রতিটি AOSP অবদানকারী একই সরঞ্জাম ব্যবহার করে, একই কোড পর্যালোচনা প্রক্রিয়া অনুসরণ করে এবং একই কোডিং শৈলীর বিষয়। AOSP ব্যবহার করার জন্য আপনাকে অবদানকারী হতে হবে না; আপনি AOSP ডাউনলোড করতে পারেন, আপনার নিজের প্রয়োজনে এটি পরিবর্তন করতে পারেন এবং অন্যদের ব্যবহারের জন্য কোড অবদান না করেই এটিকে একটি ডিভাইসে স্থাপন করতে পারেন।
Google যে ধরনের কোড অবদান গ্রহণ করে তার সীমাবদ্ধতা রয়েছে। উদাহরণস্বরূপ, আপনি একটি বিকল্প অ্যাপ্লিকেশন API অবদান করতে চাইতে পারেন, যেমন একটি সম্পূর্ণ C++-ভিত্তিক পরিবেশ। গুগল সেই অবদান প্রত্যাখ্যান করবে কারণ অ্যান্ড্রয়েড এআরটি রানটাইমে অ্যাপ্লিকেশন চালানোর জন্য উৎসাহিত করে। একইভাবে, Google GPL বা LGPL লাইব্রেরির মতো অবদান গ্রহণ করে না যা লাইসেন্সিং লক্ষ্যগুলির সাথে সামঞ্জস্যপূর্ণ নয়।
আপনি যদি উত্স কোডে অবদান রাখতে আগ্রহী হন তবে কাজ শুরু করার আগে Google এর সাথে যোগাযোগ করুন ৷
- সামঞ্জস্য পরীক্ষা স্যুট (CTS)
একটি বিনামূল্যে, বাণিজ্যিক-গ্রেড পরীক্ষার স্যুট, বাইনারি হিসাবে বা AOSP-এ উৎস হিসাবে ডাউনলোডের জন্য উপলব্ধ। CTS হল ইউনিট পরীক্ষার একটি সেট যা আপনার দৈনন্দিন কর্মপ্রবাহের সাথে একত্রিত করার জন্য ডিজাইন করা হয়েছে। CTS-এর উদ্দেশ্য হল অসামঞ্জস্যতা প্রকাশ করা, এবং নিশ্চিত করা যে সফ্টওয়্যারটি পুরো বিকাশ প্রক্রিয়া জুড়ে সামঞ্জস্যপূর্ণ থাকে।
- কাটলফিশ
একটি কনফিগারযোগ্য ভার্চুয়াল অ্যান্ড্রয়েড-চালিত ডিভাইস যা Google ক্লাউড ইঞ্জিনের মতো তৃতীয় পক্ষের ক্লাউড অফারগুলি ব্যবহার করে এবং স্থানীয়ভাবে Linux x86 মেশিনে দূরবর্তীভাবে চলতে পারে।
- বিকাশকারী
AOSP এর পরিপ্রেক্ষিতে, একজন ডেভেলপার হল যে কেউ AOSP এর সাথে যেকোন উপায়ে কাজ করে। "ডেভেলপার" শব্দটি সাধারণভাবে বিভিন্ন ব্যক্তিদের বোঝাতে ব্যবহৃত হয় যারা এই ডকুমেন্টেশনটি পড়তে পারেন, যেমন মূল সরঞ্জাম প্রস্তুতকারক (OEM), হ্যান্ডসেট নির্মাতা, ক্যারিয়ার এবং সিস্টেম-অন-এ-চিপ (SoC) নির্মাতারা।
- Google মোবাইল পরিষেবা (GMS)
Google অ্যাপ এবং API-এর একটি সংগ্রহ যা ডিভাইসে আগে থেকে ইনস্টল করা যেতে পারে।
- টার্গেট
একটি ডিভাইসের একটি পরিবর্তন, যেমন একটি নির্দিষ্ট মডেল বা ফর্ম ফ্যাক্টর। উদাহরণস্বরূপ,
aosp_cf_x86_64_phone-userdebug
ডিবাগিং তথ্য সহ একটি x86 65MB ফোন উপস্থাপন করে যা কাটলফিশ এমুলেটরে চালানোর জন্য ডিজাইন করা হয়েছে।
শাসন দর্শন
গুগলের নেতৃত্বে ওপেন হ্যান্ডসেট অ্যালায়েন্স (OHA) নামে পরিচিত কোম্পানিগুলির একটি গ্রুপ অ্যান্ড্রয়েডের উদ্ভব করেছে। আজ, অনেক কোম্পানি - উভয়েই OHA এর মূল সদস্য এবং অন্যরা - Android এ প্রচুর বিনিয়োগ করেছে৷ এই কোম্পানিগুলি অ্যান্ড্রয়েডের উন্নতি করতে এবং অ্যান্ড্রয়েড ডিভাইসগুলিকে বাজারে আনতে উল্লেখযোগ্য প্রকৌশল সংস্থানগুলি বরাদ্দ করেছে৷
যে কোম্পানিগুলি অ্যান্ড্রয়েডে বিনিয়োগ করেছে তারা এটি করেছে কারণ তারা বিশ্বাস করে একটি উন্মুক্ত প্ল্যাটফর্ম প্রয়োজনীয়। অ্যান্ড্রয়েড ইচ্ছাকৃতভাবে এবং স্পষ্টভাবে একটি ওপেন সোর্স প্রচেষ্টা (ফ্রি সফ্টওয়্যারের বিপরীতে); শেয়ার্ড চাহিদা সহ সংস্থাগুলির একটি গ্রুপ একটি শেয়ার্ড প্রোডাক্টের একক বাস্তবায়নে সহযোগিতা করার জন্য সম্পদ সংগ্রহ করেছে। প্রথম এবং সর্বাগ্রে, অ্যান্ড্রয়েড দর্শন বাস্তববাদী। উদ্দেশ্য হল একটি ভাগ করা পণ্য যা প্রতিটি অবদানকারী দর্জি এবং কাস্টমাইজ করতে পারে।
অবশ্যই, অনিয়ন্ত্রিত কাস্টমাইজেশন বেমানান বাস্তবায়ন হতে পারে। অসামঞ্জস্যতা রোধ করতে, অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (এওএসপি) অ্যান্ড্রয়েড সামঞ্জস্যপূর্ণ প্রোগ্রামটি বজায় রাখে, যা বানান করে Android-সামঞ্জস্যপূর্ণ হওয়ার অর্থ কী এবং সেই স্থিতি অর্জনের জন্য ডিভাইস নির্মাতাদের কী প্রয়োজন। যে কেউ যেকোন উদ্দেশ্যে অ্যান্ড্রয়েড সোর্স কোড ব্যবহার করতে পারে এবং Google সমস্ত বৈধ ব্যবহারকে স্বাগত জানায়। যাইহোক, OHA সদস্যরা Android এর চারপাশে তৈরি করা অ্যাপ্লিকেশনগুলির ভাগ করা ইকোসিস্টেমে অংশ নিতে, ডিভাইস নির্মাতাদের অবশ্যই Android সামঞ্জস্যতা প্রোগ্রামে অংশগ্রহণ করতে হবে।
AOSP-এর নেতৃত্বে Google, যারা Android এর রক্ষণাবেক্ষণ করে এবং আরও বিকাশ করে। যদিও অ্যান্ড্রয়েড একাধিক সাবপ্রজেক্ট নিয়ে গঠিত, তবে AOSP কঠোরভাবে প্রজেক্ট ম্যানেজমেন্ট। Google Android কে একটি একক, সামগ্রিক সফ্টওয়্যার পণ্য হিসাবে দেখে এবং পরিচালনা করে, বন্টন, স্পেসিফিকেশন বা প্রতিস্থাপনযোগ্য অংশগুলির সংগ্রহ নয়। Google এর উদ্দেশ্য হল যে ডিভাইস নির্মাতারা একটি ডিভাইসে Android পোর্ট করে; তারা একটি স্পেসিফিকেশন বাস্তবায়ন বা একটি বিতরণ কিউরেট না.
এরপর কি?
আপনি যদি AOSP-এ নতুন হয়ে থাকেন এবং AOSP ডেভেলপমেন্টের উপর একটি টিউটোরিয়াল চালাতে চান, তাহলে AOSP টিউটোরিয়াল নিয়ে এগিয়ে যান।
আপনি যদি বিশ্বাস করেন যে আপনার ডিভাইসটি অ্যান্ড্রয়েড-সামঞ্জস্যপূর্ণ হতে হবে, তাহলে Android সামঞ্জস্যপূর্ণ প্রোগ্রাম দেখুন।
আপনি যদি প্ল্যাটফর্মে Google-এর অংশগ্রহণ সহ AOSP-এর পটভূমি সম্পর্কে জানতে চান, AOSP-এর প্রায়শ জিজ্ঞাসিত প্রশ্নগুলি দেখুন।