Chciałbyś zostać deweloperem??
Jeśli tak.......
To ten poradnik jest dla Ciebie:)
Od czego zacząć???
Aby rozpocząć budowanie system Android należy przede wszystkim posiadać środowisko zdolne do jego budowy.
Jednym z takich środowisk jest system Ubuntu można go pobrać stąd: Download | Ubuntu . Moim zdaniem jest to najprzyjaźniejszy system do budowy systemu Android. Są dwie możliwości instalacji Ubuntu:
1. Jeżeli chcesz używać dwóch systemów jednocześnie (np. Windows i Ubuntu) polecam Virtualbox. Można go pobrać stąd: Downloads - VirtualBox (osobiście odradzam tej metody, ponieważ kompilacje trwają dłużej w stosunku do "standardowej" instalacji Ubuntu.
2. Jeżeli chcesz używać Ubuntu niezależnego od innego systemu polecam jego instalacje poprzez WUBI wewnątrz Windows. Nie bedę opisywał całego procesu instalacji, gdyż nie jest to cel tego poradnika.
Mamy już Ubuntu... Co dalej???
Sam system nie wystarczy do budowy systemu Android. Aby było to możliwe musimy dograć kilka "pakietów". W tym celu przechodzimy do terminala i wklejamy:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos
Po zakończeniu instalacji owych pakietów następnie musimy zainstalować środowisko JAVA. I tu jest ważna kwestia.... Jeżeli zamierzasz kompilowac androida w wersji 2.2 lub w niższej należy zainstalować JDK 5 natomiast jeżeli chcesz budować androida 2.3 lub Honeycomba musisz zainstalować JDK 6.
Aby zainstalowac JDK 5 przechodzisz do terminala i wklejasz:
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
sudo apt-get update
sudo apt-get install sun-java5-jdk
Aby zainstalowac JDK 6 przechodzisz do terminala i wklejasz:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
Mam już wszystkie narzędzia potrzebne do budowy Androida....Ale co dalej?
Przedstawię wam proces budowy cyanogenmoda 6 korzystając z source Quarxa (gorące podziękowania dla niego). Musimy zacząć od pobrania źródeł. W tym celu przechodzimy do Terminala i wklejamu w tej kolejności linijki:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo
mkdir Android
cd Android
repo init -u https://github.com/OpenSwift/android_manifest.git -b froyo
repo sync
Pobieranie źródeł może troche potrwać, zależy to od prędkości twojego łącza. Waga źródeł ok 4,5gb
Aby zacząć kompilowanie musimy jeszcze pobrac źródła kernela stąd: https://github.com/OpenSwift/android_kernel_swift . U góry jest Download. Po pobraniu i rozpakowaniu paczki folder "kernel" kopiujemy do /home/xxx/Android
Rozpoczynamy Kompilowanie!!
Aby rozpocząć budowę w termianulu przechodzimy do folderu gdzie pobraliśmy źródła np.
cd Android
Następnie wpisujemy komendy:
. build/envsetup.sh
lunch
Ukaże nam się dość długa lista urządzeń. Wybieramy numerek, przy którym widnieje "cyanogen_swift-eng"
Aby rozpocząć kompilację wpisujemy komendę
make -j2
Przedstawię wam problemy jakie możecie napotkać przy budowie Romu poczynając od pobrania źródeł.
1.Jeżeli podczas pobierania źródeł wystąpi jakiś błąd np. że nie może pobrać jakiegoś pakietu należy pobrać ten plik Multiupload.com - upload your files to multiple file hosting sites! , a następnie skopiować go do home/xxx/Android/.repo . Folder ".repo" widoczy jest po wciśnieciu ctrl+H. Po podmianie tego pliku musisz ponownie wpisac komendę REPO SYNC.
2.Tutaj opiszę błędy mogące wystąpić poczas kompilacji
Błąd:
build / core / base_rules.mk: 128: *** hardware/msm7k/libaudio: MODULE.TARGET.SHARED_LIBRARIES.libaudiopolicy already defined by device / lg / swift / libaudio.
Rozwiązanie
Przechodzimy do Android/hardware/msm7k/Android.mk ' i usuwamy z tej linijki libgralloc-qsd8k i libaudio
msm7k_adreno_dirs: = $ (common_msm_dirs) boot libgralloc-qsd8k libaudio
Błąd:
Target buildinfo: out / target / product / swift / system / build.prop
/ Bin / bash:-c: line 0: unexpected EOF on reaching a `" '
/ Bin / bash:-c: line 1: syntax error: unexpected end of file
make: *** [out / target / product / swift / system / build.prop] Error 1
make: *** Removing file `out / target / product / swift / system / build.prop
Rozwiązanie:
Przechodzimy do build / core / Makefile
$ (If $ (ADDITIONAL_BUILD_PROPERTIES), \
$ (Hide) echo>> $ @; \
echo "#">> $ @; \
echo "# ADDITIONAL_BUILD_PROPERTIES">> $ @; \
echo "#">> $ @
$ (Hide) $ (foreach line, $ (ADDITIONAL_BUILD_PROPERTIES), \
echo "$ (line)">> $ @
Błąd:
Checking API: checkapi-last
(Unknown): error 17: Field org.apache.http.protocol.HTTP.EXPECT_CONTINUE has changed value from "100-Continue" to "100-continue"
******************************
You have tried to change the API from what has been previously released in
an SDK. Please fix the errors listed above.
******************************
make: *** [out / target / common / obj / PACKAGING / checkapi-last-timestamp] Error 38
Rozwiązanie:
Przechodzimy do external / apache-http / src / org / apache / http / protocol / HTTP.java i zmieniamy w tej linijce "100-continue" na "100-Continue"
public static final String EXPECT_CONTINUE = "100-continue";
Nie pamietam już wszystkich ale jak ktoś ma problem z czymś śmiało pisać postaram się pomóc:)