উৎস নিয়ন্ত্রণ সরঞ্জাম

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

গিট

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

গিট সম্পর্কে আরও বিস্তারিত জানতে এই গিট ডকুমেন্টেশনটি দেখুন।

রিপো

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

রেপো লঞ্চার একটি পাইথন স্ক্রিপ্ট প্রদান করে যা একটি চেকআউট শুরু করে এবং দ্বিতীয় অংশ, অর্থাৎ সম্পূর্ণ রেপো টুলটি ডাউনলোড করে। সম্পূর্ণ রেপো টুলটি একটি অ্যান্ড্রয়েড সোর্স কোড চেকআউটের অন্তর্ভুক্ত থাকে। এটি ডিফল্টরূপে $SRCDIR/.repo/repo/... এ অবস্থিত এবং এটি ডাউনলোড করা রেপো লঞ্চার থেকে ফরোয়ার্ড করা কমান্ড গ্রহণ করে।

রেপো গিট-এর বিকল্প নয়, এটি শুধুমাত্র অ্যান্ড্রয়েডের প্রেক্ষাপটে গিট-এর সাথে কাজ করা সহজ করে তোলে। রেপো ম্যানিফেস্ট ফাইল ব্যবহার করে গিট প্রোজেক্টগুলোকে একত্রিত করে অ্যান্ড্রয়েড সুপারপ্রোজেক্ট তৈরি করে। আপনি repo কমান্ডটি, যা একটি এক্সিকিউটেবল পাইথন স্ক্রিপ্ট, আপনার পাথের যেকোনো জায়গায় রাখতে পারেন। অ্যান্ড্রয়েড সোর্স ফাইল নিয়ে কাজ করার সময়, আপনি একটিমাত্র রেপো ওয়ার্কিং ডিরেক্টরির মতো আন্তঃ-নেটওয়ার্ক অপারেশনের জন্য রেপো ব্যবহার করতে পারেন।

বেশিরভাগ ক্ষেত্রে, আপনি Repo-এর পরিবর্তে Git ব্যবহার করতে পারেন, অথবা জটিল কমান্ড তৈরি করতে Repo এবং Git কমান্ড একসাথে ব্যবহার করতে পারেন। তবে, নেটওয়ার্কের মধ্যে সাধারণ কাজগুলোর জন্য Repo ব্যবহার করলে আপনার কাজ অনেক সহজ হয়ে যায়। Repo সম্পর্কে আরও বিস্তারিত জানতে, Repo কমান্ড রেফারেন্স , Repo README , Preupload Hooks (Repo-তে সক্রিয় করা যায় এমন পরীক্ষা), এবং AOSP-এর সাধারণ ডকুমেন্টেশন দেখুন।

git-repo-downloads থেকে Repo Launcher ডাউনলোড ও ইনস্টল করতে, Install Repo দেখুন।

গেরিট

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

অ্যান্ড্রয়েড গেরিট রিভিউ ইন্টারফেসটি android-review.googlesource.com- এ এবং কোড নেভিগেশন ইন্টারফেসটি android.googlesource.com- এ খুঁজুন।

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

অন্যান্য সরঞ্জাম

অ্যান্ড্রয়েড স্টুডিও হলো অ্যান্ড্রয়েড অ্যাপ তৈরির জন্য আনুষ্ঠানিক সমন্বিত উন্নয়ন পরিবেশ (IDE)।

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

AOSP ডেভেলপমেন্টের জন্য Android Studio for Platform (ASfP) ব্যবহার করুন।