AOSP বিকাশের জন্য সেট আপ করুন (2.3 - 8.0)

এই পৃষ্ঠাটি Android 8.0 বা নিম্ন সংস্করণের সাথে বিকাশের জন্য কীভাবে সেট আপ করা যায় তা নিয়ে আলোচনা করে। অ্যান্ড্রয়েড 9.0 এবং উচ্চতর সংস্করণ কীভাবে তৈরি করবেন তা শিখতে, AOSP বিকাশের জন্য সেট আপ দেখুন।

AOSP বিকাশের জন্য সেট আপ করুন (5.0 - 8.0)

অ্যান্ড্রয়েড 5.0 থেকে 8.0 পর্যন্ত, সমস্ত প্রয়োজনীয় প্যাকেজ ইনস্টলেশন সহজ করতে অন্তর্ভুক্ত ডকারফাইল ব্যবহার করার কথা বিবেচনা করুন।

অপারেটিং সিস্টেম

অ্যান্ড্রয়েড সাধারণত একটি GNU Linux দিয়ে তৈরি করা হয়। Mac OS X-এর মতো অসমর্থিত সিস্টেমে ভার্চুয়াল মেশিনে Android তৈরি করাও সম্ভব।

গুগল জিএনইউ লিনাক্সে নির্মাণের পরামর্শ দেয়। অ্যান্ড্রয়েড বিল্ড সিস্টেম সাধারণত সিস্টেম DEX ফাইলগুলিকে প্রি-কম্পাইল করার জন্য বিল্ড মেশিনে ART চালায়। এআরটি শুধুমাত্র লিনাক্সে চলতে পারে, তাই বিল্ড সিস্টেম নন-লিনাক্স অপারেটিং সিস্টেমে এই প্রি-কম্পাইলেশন ধাপটি এড়িয়ে যায়, ফলে কর্মক্ষমতা হ্রাস সহ একটি অ্যান্ড্রয়েড বিল্ড হয়।

জিএনইউ লিনাক্স

  • অ্যান্ড্রয়েড 6.0 - অ্যান্ড্রয়েড 8.0: উবুন্টু 14.04 (বিশ্বস্ত)
  • অ্যান্ড্রয়েড 5.x: উবুন্টু 12.0

Mac OS X (Intel/x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) বা তার পরে Xcode 4.5.2 এবং কমান্ড লাইন টুল সহ
  • Android 5.x: Xcode 4.5.2 এবং কমান্ড লাইন টুল সহ Mac OS X v10.8 (মাউন্টেন লায়ন)

জেডিকে

AOSP বিকাশের জন্য সেট আপ করুন (2.3 - 4.4)

এই বিভাগটি Android 4.4 এর মাধ্যমে Android 2.3 সেট আপ করার জন্য কিছু নির্দেশিকা প্রদান করে।

অপারেটিং সিস্টেম

অ্যান্ড্রয়েড সাধারণত একটি GNU Linux দিয়ে তৈরি করা হয়। উইন্ডোজের মতো অসমর্থিত সিস্টেমে ভার্চুয়াল মেশিনে অ্যান্ড্রয়েড তৈরি করাও সম্ভব।

গুগল জিএনইউ লিনাক্সে নির্মাণের পরামর্শ দেয়। অ্যান্ড্রয়েড বিল্ড সিস্টেম সাধারণত সিস্টেম DEX ফাইলগুলিকে প্রি-কম্পাইল করার জন্য বিল্ড মেশিনে ART চালায়। এআরটি শুধুমাত্র লিনাক্সে চলতে পারে, তাই বিল্ড সিস্টেম নন-লিনাক্স অপারেটিং সিস্টেমে এই প্রি-কম্পাইলেশন ধাপটি এড়িয়ে যায়, ফলে কর্মক্ষমতা হ্রাস সহ একটি অ্যান্ড্রয়েড বিল্ড হয়।

জিএনইউ লিনাক্স

  • অ্যান্ড্রয়েড 2.3.x - অ্যান্ড্রয়েড 4.4: উবুন্টু 12.04 (নির্দিষ্ট)

Mac OS X (Intel/x86)

  • Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow Leopard) বা Mac OS X v10.7 (Lion) এবং Xcode 4.2 (Apple বিকাশকারী সরঞ্জাম)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) বা Mac OS X v10.6 (Snow Leopard) এবং Mac OS X v10.5 SDK

GNU তৈরি করুন

Android 4.1.x থেকে 4.4 এর জন্য GNU make (gmake) 3.82 ব্যবহার করুন। Android 2.3 থেকে 4.0.x এর জন্য, বিল্ড ত্রুটি এড়াতে gmake 3.82 থেকে প্রত্যাবর্তন করুন

এক্সকোড এবং অন্যান্য প্যাকেজ

Mac OS X v10.8 বা তার নিচের জন্য, Apple ডেভেলপার সাইট থেকে Xcode ইনস্টল করুন। আপনি যদি ইতিমধ্যে একজন অ্যাপল বিকাশকারী হিসাবে নিবন্ধিত না হন তবে ডাউনলোড করার জন্য আপনাকে অবশ্যই একটি অ্যাপল আইডি তৈরি করতে হবে।

Mac OS X v10.4 ব্যবহার করলে, বাইসনও ইনস্টল করুন:

POSIXLY_CORRECT=1 sudo port install bison

ম্যাকপোর্টের জন্য, সমস্যা:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

হোমব্রু জন্য, সমস্যা:

brew install gmake libsdl git gnupg2

gmake 3.82 থেকে প্রত্যাবর্তন করুন

অ্যান্ড্রয়েড 4.0.x এবং তার নিচের ভার্সনে, gmake 3.82-এ একটি বাগ রয়েছে যা Android তৈরি হতে বাধা দেয়। আপনি এই পদক্ষেপগুলি সহ MacPorts ব্যবহার করে সংস্করণ 3.81 ইনস্টল করতে পারেন:

  1. /opt/local/etc/macports/sources.conf সম্পাদনা করুন এবং rsync লাইনের উপরে file:///Users/Shared/dports যোগ করুন।

  2. dports ডিরেক্টরি তৈরি করুন:

    mkdir /Users/Shared/dports
    
  3. নতুন dports ডিরেক্টরিতে, চালান:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. আপনার নতুন স্থানীয় সংগ্রহস্থলের জন্য একটি পোর্ট সূচক তৈরি করুন:

    portindex /Users/Shared/dports
    
  5. gmake এর নিম্ন সংস্করণ ইনস্টল করুন:

    sudo port install gmake @3.81
    

জেডিকে

লিনাক্সের জন্য JDK

অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট (এওএসপি) prebuilts/jdk/ মধ্যে ওপেনজেডিকে-এর পূর্বনির্মাণ সংস্করণগুলির সাথে আসে তাই কোনও অতিরিক্ত ইনস্টলেশনের প্রয়োজন নেই।

অ্যান্ড্রয়েডের আগের সংস্করণগুলির জন্য JDK-এর একটি পৃথক ইনস্টলেশন প্রয়োজন। উবুন্টুতে, OpenJDK ব্যবহার করুন

উবুন্টু 15.04 এবং উচ্চতর জন্য

নিম্নলিখিত চালান:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

উবুন্টু এলটিএস 14.04 এর জন্য

উবুন্টু 14.04 এর জন্য কোন সমর্থিত OpenJDK 8 প্যাকেজ নেই। Ubuntu 15.04 OpenJDK 8 প্যাকেজ উবুন্টু 14.04 এর সাথে সফলভাবে ব্যবহার করা হয়েছে। উচ্চতর প্যাকেজ সংস্করণ (উদাহরণস্বরূপ, 15.10, 16.04 এর জন্য) নিম্নলিখিত নির্দেশাবলী ব্যবহার করে 14.04 এ কাজ করে না।

  1. old-releases.ubuntu.com থেকে 64-বিট আর্কিটেকচারের জন্য .deb প্যাকেজগুলি ডাউনলোড করুন

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb সহ SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb সহ 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb সহ SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. ঐচ্ছিকভাবে, ধাপ 1 থেকে প্রতিটি প্যাকেজের সাথে তালিকাভুক্ত SHA256 স্ট্রিংয়ের বিপরীতে ডাউনলোড করা ফাইলের চেকসাম নিশ্চিত করুন। উদাহরণস্বরূপ, sha256sum টুলের সাথে:

    sha256sum {downloaded.deb file}
    
  3. প্যাকেজ ইনস্টল করুন:

    sudo apt-get update
    
  4. আপনার ডাউনলোড করা প্রতিটি .deb ফাইলের জন্য dpkg চালান। অনুপস্থিত নির্ভরতার কারণে এটি ত্রুটি তৈরি করতে পারে:

    sudo dpkg -i {downloaded.deb file}
    
  5. অনুপস্থিত নির্ভরতা ঠিক করতে:

    sudo apt-get -f install
    

(ঐচ্ছিক) ডিফল্ট জাভা সংস্করণ আপডেট করুন

ঐচ্ছিকভাবে, পূর্বে উল্লেখিত উবুন্টু সংস্করণগুলির জন্য, চালিয়ে ডিফল্ট জাভা সংস্করণ আপডেট করুন:

sudo update-alternatives --config java
sudo update-alternatives --config javac

উবুন্টু 14.04 এর জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

উবুন্টু 14.04 এর জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি চালান:

$ 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$

উবুন্টু 12.04 এর জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

উবুন্টু 12.04 এর জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি চালান:

$ 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