এই পৃষ্ঠায় অ্যান্ড্রয়েড ৮.০ বা তার নিম্নতর সংস্করণ দিয়ে ডেভেলপমেন্টের জন্য কীভাবে প্রস্তুতি নিতে হয়, তা আলোচনা করা হয়েছে। অ্যান্ড্রয়েড ৯.০ এবং তার উচ্চতর সংস্করণ কীভাবে বিল্ড করতে হয় তা জানতে, ‘এওএসপি ডেভেলপমেন্টের জন্য প্রস্তুতি’ দেখুন।
AOSP ডেভেলপমেন্টের জন্য সেট আপ করুন (5.0 - 8.0)
অ্যান্ড্রয়েড ৫.০ থেকে ৮.০ পর্যন্ত, প্রয়োজনীয় সমস্ত প্যাকেজের ইনস্টলেশন সহজ করতে অন্তর্ভুক্ত ডকারফাইলটি ব্যবহার করার কথা বিবেচনা করতে পারেন।
অপারেটিং সিস্টেম
অ্যান্ড্রয়েড সাধারণত গ্নু লিনাক্স দিয়ে তৈরি করা হয়। ম্যাক ওএস এক্স-এর মতো অসমর্থিত সিস্টেমে ভার্চুয়াল মেশিনেও অ্যান্ড্রয়েড তৈরি করা সম্ভব।
গুগল গ্নু লিনাক্সে বিল্ড করার পরামর্শ দেয়। অ্যান্ড্রয়েড বিল্ড সিস্টেম সাধারণত সিস্টেম DEX ফাইলগুলো প্রি-কম্পাইল করার জন্য বিল্ড মেশিনে ART চালায়। ART শুধুমাত্র লিনাক্সে চলতে পারে, তাই বিল্ড সিস্টেম লিনাক্স-বহির্ভূত অপারেটিং সিস্টেমে এই প্রি-কম্পাইলেশন ধাপটি এড়িয়ে যায়, যার ফলে অ্যান্ড্রয়েড বিল্ডের পারফরম্যান্স কমে যায়।
জিএনইউ লিনাক্স
- অ্যান্ড্রয়েড ৬.০ - অ্যান্ড্রয়েড ৮.০: উবুন্টু ১৪.০৪ (ট্রাস্টি)
- অ্যান্ড্রয়েড ৫.x: উবুন্টু ১২.০
ম্যাক ওএস এক্স (ইন্টেল/x86)
- অ্যান্ড্রয়েড ৬.০ - এওএসপি ৮.০: ম্যাক ওএস এক্স ভি১০.১০ (ইয়োসেমিটি) বা তার পরবর্তী সংস্করণ, সাথে এক্সকোড ৪.৫.২ এবং কমান্ড লাইন টুলস
- অ্যান্ড্রয়েড ৫.x: ম্যাক ওএস এক্স ভি১০.৮ (মাউন্টেন লায়ন) সাথে এক্সকোড ৪.৫.২ এবং কমান্ড লাইন টুলস
জেডিকে
অ্যান্ড্রয়েড ৭.০ - অ্যান্ড্রয়েড ৮.০:
- উবুন্টু: ওপেনজেডিকে ৮
- ম্যাক ওএস এক্স: জেডিকে ৮ইউ৪৫ বা উচ্চতর
অ্যান্ড্রয়েড ৫.x (ললিপপ) - অ্যান্ড্রয়েড ৬.০ (মার্শমেলো):
- উবুন্টু: ওপেনজেডিকে ৭
- Mac OS X: jdk-7u71-macosx-x64.dmg
AOSP উন্নয়নের জন্য প্রস্তুতি (২.৩ - ৪.৪)
এই বিভাগে অ্যান্ড্রয়েড ২.৩ থেকে অ্যান্ড্রয়েড ৪.৪ পর্যন্ত সেট আপ করার বিষয়ে কিছু নির্দেশনা দেওয়া হয়েছে।
অপারেটিং সিস্টেম
অ্যান্ড্রয়েড সাধারণত গ্নু লিনাক্স দিয়ে তৈরি করা হয়। উইন্ডোজের মতো অসমর্থিত সিস্টেমে ভার্চুয়াল মেশিনেও অ্যান্ড্রয়েড তৈরি করা সম্ভব।
গুগল গ্নু লিনাক্সে বিল্ড করার পরামর্শ দেয়। অ্যান্ড্রয়েড বিল্ড সিস্টেম সাধারণত সিস্টেম DEX ফাইলগুলো প্রি-কম্পাইল করার জন্য বিল্ড মেশিনে ART চালায়। ART শুধুমাত্র লিনাক্সে চলতে পারে, তাই বিল্ড সিস্টেম লিনাক্স-বহির্ভূত অপারেটিং সিস্টেমে এই প্রি-কম্পাইলেশন ধাপটি এড়িয়ে যায়, যার ফলে অ্যান্ড্রয়েড বিল্ডের পারফরম্যান্স কমে যায়।
জিএনইউ লিনাক্স
- অ্যান্ড্রয়েড ২.৩.x - অ্যান্ড্রয়েড ৪.৪: উবুন্টু ১২.০৪ (প্রিসাইজ)
ম্যাক ওএস এক্স (ইন্টেল/x86)
- অ্যান্ড্রয়েড ৪.১.x - অ্যান্ড্রয়েড ৪.৪.x: ম্যাক ওএস এক্স ভি১০.৬ (স্নো লেপার্ড) অথবা ম্যাক ওএস এক্স ভি১০.৭ (লায়ন) এবং এক্সকোড ৪.২ (অ্যাপল ডেভেলপার টুলস)
- অ্যান্ড্রয়েড ২.৩ - অ্যান্ড্রয়েড ৪.০.x: ম্যাক ওএস এক্স ভি১০.৫ (লেপার্ড) অথবা ম্যাক ওএস এক্স ভি১০.৬ (স্নো লেপার্ড) এবং ম্যাক ওএস এক্স ভি১০.৫ এসডিকে
GNU make
অ্যান্ড্রয়েড ৪.১.x থেকে ৪.৪ এর জন্য গ্নু মেক (gmake) ৩.৮২ ব্যবহার করুন। অ্যান্ড্রয়েড ২.৩ থেকে ৪.০.x এর জন্য, বিল্ড ত্রুটি এড়াতে gmake ৩.৮২ থেকে পূর্বাবস্থায় ফিরে যান ।
এক্সকোড এবং অন্যান্য প্যাকেজ
Mac OS X v10.8 বা তার নিম্ন সংস্করণের জন্য, Apple ডেভেলপার সাইট থেকে Xcode ইনস্টল করুন। আপনি যদি আগে থেকেই Apple ডেভেলপার হিসেবে নিবন্ধিত না থাকেন, তাহলে ডাউনলোড করার জন্য আপনাকে একটি Apple ID তৈরি করতে হবে।
আপনি যদি Mac OS X v10.4 ব্যবহার করেন, তাহলে Bison-ও ইনস্টল করুন:
POSIXLY_CORRECT=1 sudo port install bison
MacPorts-এর জন্য, ইস্যুটি হলো:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
হোমব্রু-এর জন্য, ইস্যু করুন:
brew install gmake libsdl git gnupg2
gmake 3.82 থেকে পূর্বাবস্থায় ফেরান
অ্যান্ড্রয়েড ৪.০.x এবং এর নিচের সংস্করণগুলোতে gmake ৩.৮২-তে একটি বাগ রয়েছে, যার কারণে অ্যান্ড্রয়েড বিল্ড করা যায় না। আপনি নিম্নলিখিত ধাপগুলো অনুসরণ করে MacPorts ব্যবহার করে ৩.৮১ সংস্করণটি ইনস্টল করতে পারেন:
/opt/local/etc/macports/sources.confফাইলটি সম্পাদনা করুন এবংrsyncলাইনের উপরেfile:///Users/Shared/dportsযোগ করুন।dportsডিরেক্টরি তৈরি করুন:mkdir /Users/Shared/dportsনতুন
dportsডিরেক্টরিতে, চালান:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/আপনার নতুন স্থানীয় রিপোজিটরির জন্য একটি পোর্ট ইনডেক্স তৈরি করুন:
portindex /Users/Shared/dportsgmake-এর নিম্নতর সংস্করণটি ইনস্টল করুন:
sudo port install gmake @3.81
জেডিকে
- অ্যান্ড্রয়েড ২.৩.x - অ্যান্ড্রয়েড ৪.৪.x:
- উবুন্টু: জাভা জেডিকে ৬
- ম্যাক ওএস এক্স: জাভা জেডিকে ৬
লিনাক্সের জন্য জেডিকে
অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (AOSP)- এর prebuilts/jdk/ ফোল্ডারে OpenJDK-এর প্রি-বিল্ট সংস্করণগুলো দেওয়া থাকে, তাই আলাদা করে কোনো ইনস্টলেশনের প্রয়োজন হয় না।
অ্যান্ড্রয়েডের পুরোনো সংস্করণগুলোর জন্য জেডিকে (JDK) আলাদাভাবে ইনস্টল করতে হতো। উবুন্টুতে ওপেনজেডিকে (OpenJDK) ব্যবহার করুন।
উবুন্টু ১৫.০৪ এবং উচ্চতর সংস্করণের জন্য
নিম্নলিখিতটি চালান:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
উবুন্টু এলটিএস ১৪.০৪ এর জন্য
উবুন্টু ১৪.০৪-এর জন্য কোনো সমর্থিত ওপেনজেডিকে ৮ প্যাকেজ উপলব্ধ নেই। উবুন্টু ১৫.০৪-এর ওপেনজেডিকে ৮ প্যাকেজগুলো উবুন্টু ১৪.০৪-এর সাথে সফলভাবে ব্যবহৃত হয়েছে। উচ্চতর প্যাকেজ সংস্করণগুলো (উদাহরণস্বরূপ, ১৫.১০, ১৬.০৪-এর জন্য) নিম্নলিখিত নির্দেশাবলী ব্যবহার করে ১৪.০৪-এ কাজ করে না।
old-releases.ubuntu.com থেকে ৬৪-বিট আর্কিটেকচারের জন্য
.debপ্যাকেজগুলো ডাউনলোড করুন।-
openjdk-8-jre-headless_8u45-b14-1_amd64.debযার SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0 -
openjdk-8-jre_8u45-b14-1_amd64.debযার SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849 -
openjdk-8-jdk_8u45-b14-1_amd64.debযার SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
-
ঐচ্ছিকভাবে, ধাপ ১-এর প্রতিটি প্যাকেজের সাথে তালিকাভুক্ত SHA256 স্ট্রিং-এর সাথে ডাউনলোড করা ফাইলগুলির চেকসাম মিলিয়ে দেখুন। উদাহরণস্বরূপ,
sha256sumটুলটি ব্যবহার করে:sha256sum {downloaded.deb file}প্যাকেজগুলো ইনস্টল করুন:
sudo apt-get updateআপনার ডাউনলোড করা প্রতিটি
.debফাইলের জন্যdpkgচালান। প্রয়োজনীয় ডিপেন্ডেন্সি না থাকার কারণে এতে ত্রুটি দেখা দিতে পারে:sudo dpkg -i {downloaded.deb file}অনুপস্থিত নির্ভরতাগুলি ঠিক করতে:
sudo apt-get -f install
(ঐচ্ছিক) ডিফল্ট জাভা সংস্করণ আপডেট করুন
ঐচ্ছিকভাবে, পূর্বে উল্লিখিত উবুন্টু সংস্করণগুলির জন্য, নিম্নলিখিত কমান্ডটি চালিয়ে ডিফল্ট জাভা সংস্করণ আপডেট করুন:
sudo update-alternatives --config java
sudo update-alternatives --config javac
উবুন্টু ১৪.০৪ এর জন্য প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন।
উবুন্টু ১৪.০৪-এর জন্য প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করতে নিম্নলিখিত কমান্ডগুলো চালান:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$
উবুন্টু ১২.০৪ এর জন্য প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন।
উবুন্টু ১২.০৪-এর জন্য প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করতে নিম্নলিখিত কমান্ডগুলো চালান:
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so