[QRCODE][/QRCODE]Carbon ROM [4.4.x.] Unnofficial – dla Galaxy Ace II (Codina)
UWAGA!!
CARBON ROM nie wspiera ART. Wiemy wszyscy, nie? Informuję, że każdy post, w którym motywem dominującym będzie ART będzie przeze mnie osobiście raportowany. Sytuacja taka będzie miała miejsce dopóki CarbonDev nie ogłoszą oficjalnego wsparcia dla ART
---------------------------------------------------------------------------------------------
Nie ponoszę żadnej odpowiedzialności za ewentualne uszkodzenia telefonu spowodowane instalacją bądź użytkowaniem moich ROMów. Nie odpowiadam także za ewentualne skutki ich modyfikacji, nieprawidłowe czy niepożądane działanie. Sam ROM udostępniany jest "taki jaki jest", jeżeli Ci nie odpowiada - nie instaluj/zmień na inny.
---------------------------------------------------------------------------------------------
WAŻNE!
Instalując Carbon ROM (oraz każdy custom ROM oparty na Androidzie w wersji 4.2.x+) koniecznie musisz posiadać system Android Jelly Bean w wersji 4.1.2 (lub wyższej). Bez względu na doświadczenia własne z innymi telefonami –
nie instaluj ROMu na wersji systemu 2.3.6!
---------------------------------------------------------------------------------------------
UWAGA OGÓLNA
Przed instalacją jakiegokolwiek ROMu zalecane jest wykonanie kopii bezpieczeństwa aktualnie działającego systemu.
---------------------------------------------------------------------------------------------
INFORMACJE O ROMie:
Carbon - KitKat EDITION dla Galaxy Ace II
Wersja systemu: 4.4.x KitKat
Wersja jądra: Linux 3.0.x
Wymagana wersja ROMu: Dowolny ROM 4.1.x + dla Galaxy Ace II
Bazuje na: AOSP
Oficjalne wsparcie: NIE
Informacje o wersji:
Status: Beta
Wersja stabilna: 12-06-2014
Aktualna wersja: 22-11-2014
Pierwsze wydanie: 01-03-2014
Pierwsza wersja niepubliczna: 16-02-2014
Wersja finalna: -------
---------------------------------------------------------------------------------------------
Uwaga!
Przed instalacją BUILD6B zrób Full Wipe... albo nie płacz :'(
Procedura ta nie jest wymagana, ale czasem pozwala uniknąć niespodzianek... Możesz także spróbować wybrać klawiaturę...
Download:
Dev-host:
BUILD 18 [22-11-2014] DEODEX
BUILD 17 [02-08-2014] FINALNY - ODEX
BUILD 17 [02-08-2014] FINALNY - DEODEX
Google Drive Mirror:
Linki dodam później;)
Starsze wersje:
BUILD 16 [27-06-2014]
BUILD 15B [12-06-2014]
BUILD 13C [03-06-2014]
BUILD 11 [17-05-2014] - STABILNY
BUILD 10 [04-05-2014-05-04]
BUILD8B [23-04-2014]
BUILD 15C - bonus dla dociekliwych 0 naprawiony PEEK:) [13-06-2014]
---------------------------------------------------------------------------------------------
Instalacja:
Zip z ROMem (i opcjonalnie gapps) umieść na karcie pamięci
Uruchom telefon w trybie Recovery
Wybierz:
Wipe Data/Factory Reset
(opcjonalnie) W podmenu „mounts and storage” wybierz opcję Format System
(na wszelki wypadek) zamontuj partycję /system (ma być widoczne „unmount system”)
Wybierz opcję Install Zip (lub podobną, w zależności od wersji recovery)
Zainstaluj ROM z sdcard
[OPCJONALNIE]
Instalacja GAPPS i innych dodatków:
a) W podmenu mounts and storage zamontuj /system (jak wyżej)
b) wybierz install zip i zainstaluj dodatek
c) powtórz punkty a i b dla każdego instalowanego dodatku
Uruchom telefon. Pierwsze uruchomienie może trwać kilka minut.
---------------------------------------------------------------------------------------------
Źródła:
Teamcanjica
Carbon ROM
---------------------------------------------------------------------------------------------
Podziękowania:
- Samsung – za przyzwoity telefon;
- CyanogenMOD Team, Carbon Dev Team – za źródła ROMu;
- TeamCanjica, dh.harald i SakuraDroid – za nieoceniony wkład w rozwój i udoskonalanie źródeł dla Galaxy Ace II Codina;
- wszyscy, którym winien jestem podziękowania, a których (przez wrodzoną sklerozę) pominąłem;).
---------------------------------------------------------------------------------------------
Historia zmian:
BUILD 18 [22-11-2014]
* Aktualizacja źródeł ROMu [stan na dzień 21-11-2014]
- dodano opcję otwierania aplikacji w pływającym oknie po usunięciu powiadomienia
- poprawki aplikacji MMS
- poprawki aplikacji Aparat
- poprawki aplikacji Kontakty
- poprawki i nowe opcje w Performance Control
- czyszczenie kodu frameworka (i sporo dodatków)
- poprawki aplikacji Galeria
- poprawki aplikacji Dialer
- fixy zarządzania pamięcią
- wyeliminowano kilka potencjalnych memory leak'ów
- dodano oficjalne tłumaczenie Włókien Węglowych (dzięki projektowi Crowdin)
- masa zmian między sierpniem a październikiem (nieobjęta oficjalnym changelogiem na dzień dzisiejszy;)
* Aktualizacja źródeł urządzenia [stan na dzień 21-11-2014]
- naprawiono live streaming - podziękowania dla @Meticulus
* Aktualizacja źródeł kernela [stan na dzień 11-11-2014]
* Skompilowany w wariancie USERDEBUG (deodexed)
BUILD 17 [02-08-2014] - FINALNY(?)
* Aktualizacja wersji Androida - do 4.4.4_r2
* Aktualizacja źródeł ROMu [stan na dzień 02-08-2014]
- głównie masa drobnych aktualizacji i poprawek
* Aktualizacja źródeł urządzenia i kernela [stan na dzień 02-08-2014]
- poprawione napięcia CPU - @ace2nutzer [niepotwierdzone]
- przywrócono undervolting CPU w Ustawieniach NT
- szybsze uruchamianie (dzięki zastosowaniukompresji LZ4)
- usunięto zarządcę pegasusq
- dodano częstotliwość CPU - 100MHz (CPU freq step)
* Dodane "przeze mnie"
- próba przyspieszenia wybudzania z DS (powinno mieć pozytywny wpływ np. na przychodzące rozmowy. Modyfikacja poprawki z poprzedniego buildu)
* kompilacja w wariancie "user"[bUILD 17 ODEX]:
- odeksowany
- adb domyślnie wyłączony
* kompilacja w wariancie "userdebug" [bUILD 17 DEODEX]:
- deodeksowany
* Spaprane przeze mnie
- status kernela - brudny (dirty kernel status). Nie ma wpływu na użytkowanie, kwestia estetyczna.
BUILD 16 [2014-06-27]
* Aktualizacja wersji Androida - do 4.4.4_r1
* Aktualizacja źródeł ROMu [stan na dzień 27-06-2014]
- Poprawki klawiatury (SIM PIN)
- Naprawiono PEEK
- Poprawki aplikacji DocumentsUI
- Dodano interfejs połączeń (Non-Intrusive) ze Slima w miejsce odpowiednika z Omni
- Poprawki Menagera Motywów
- Poprawki aplikacji OmniSwitch
- Poprawki działania Hover'a
- Masa innych poprawek
* Aktualizacja źródeł urządzenia i kernela [stan na dzień 27-06-2014]
* Odświeżenie drzewa urządzenia dla Carbon ROM
BUILD 15C [13-06-2014]
* Naprawiono PEEK
BUILD 15B [12-06-2014]
* aktualizacja źródeł ROMu [stan na 12-06-2014]
- Pełna aktualizacja do wersji androida 4.4.3
- Długie wciśnięcie kafelka aparatu otwiera domyślną aplikację galerii
- Dodano możliwość wyświetlania sekund (zegar na pasku stanu)
- Nowy dialer - 4.4.3
- Dodano kafelek kompasu [fajne - judas]
- Zmieniono sposób aktywacji latarki na ekranie blokady
- naprawio wyświetlanie numerów dialera w Trybie Czarnego Węgla
- różne poprawki PEEK
- Dodano Hover
- Wiele innych poprawek
* aktualizacja źródeł urządzenia [stan na 12-06-2014]
Błędy Buildu 15B:
- Nie można włączyć PEEK (albo wyłączyć, jeśli przechodziłeś z poprzedniego buildu bez factory reset z włączonym PEEK;). Błąd usunięty w źródłach, zostanie naprawiony w następnym wydaniu.
BUILD 15 [09-06-2014] - unreleased
- Niewydany z powodu niedziałajcego Wi-Fi
BUILD 14 [2014-06-08]
* aktualizacja źródeł ROMu [stan na 08-06-2014]
- Częściowa migracja do wersji androida 4.4.3
- Dodano funkcję "Shake to Secure" ze Slima- Dodano funkcję "Gesture Lockscreen"
- Dodano opcję “Persistence”
- Dodano kafelek Equalizera [fajna opcja - judas]
- Wiele innych drobnych poprawek
* aktualizacja źródeł urządzenia [stan na 08-06-2014]
BUILD 13C [03-06-2014]
* aktualizacja źródeł CARBON [po raz kolejny głównie niewielkie poprawki kodu]
* aktualizacja źródeł urządzenia
- powrót do pierwotnych częstotliwości procesora
- aktualizacja uprawnień aplikacji Ustawienia NT
* moje zmiany:
- skompilowany z użyciem SaberMod toolchain 4.8.3
- aktualizacja optymalizacji od JustArchi'ego - do V3
- ponownie kompilacja w wariancie "user"
wersja odex
BUILD 13 [01-06-2014]
* aktualizacja źródeł CARBON [po raz kolejny głównie niewielkie poprawki kodu]
* aktualizacja źródeł urządzenia
* moje zmiany:
- skompilowany z użyciem SaberMod toolchain 4.8.3
- aktualizacja optymalizacji od JustArchi'ego - do V3
- ponownie kompilacja w wariancie "user"
wersja odex
BUILD 12 [27-05-2014]
* aktualizacja źródeł CARBON [głównie małe i duże poprawki i fixy [peek, nowy silnik motywów]
* aktualizacja źródeł urządzenia
- czyszczenie źródeł
- próba naprawienia AGPSa (wymaga testów)
- optymalizacja kernela
- aktualizacja ustawień NovaThor
* moje zmiany:
- skompilowany z użyciem SaberMod toolchain 4.8
- kompilacja z użyciem optymalizacji według @JustArchi
- kompilacja w wariancie "user":
wersja odex
adb domyślnie wyłączony
- wersja "polska" - usunięto obsługę wszystkich języków z klawiatury poza polskim i angielskim
BUILD 11 - STABILNY [2014-05-17]
* Aktualizacja źródeł ROMu (stan na dzień 17-05-2014r.)
- Dodano nowe opcje do Smart Pulldown (Wyłączone, usuwalne, trwałe, wszystkie)
- Zmiany w stylach i kolorach baterii
- Dodano "staroszkolną" ikonę baterii z procentami (jak w jellybean), niestety występuje efekt "obcięcia" lewej cyfry
- Dodano opcję "brak ikony baterii"
- Dodano Blokowanie Wakelock'ów w Włókna Węglowe > Interfejs
- Naprawiono crashe nowego silnika motywów
- Naprawiono błędy powiadomienia SMS na pasku statusu, które czasem nie znikało po przeczytaniu wiadomości
- Naprawiono akcje długiego naciśnięcia na ekranie blokady
- Naprawiono akcję pauzuj/wznów przy pobieraniu plików
- Dodano możliwość bidnowania przycisków fizycznych ze Slima
- Dodano “Peek” z PA
- Dodano okrągły wskaźnik pamięci w oknie ostatnich aplikacji
- Sporo poprawek w nowym silniku motywów
- Dodano wsparcie dla dodatkowych typów plików multimedialnych
- Dodano kafelek Dark Carbon w szybkich ustawieniach
* Aktualizacja źródeł urządzenia (stan na dzień 17-05-2014)
- aktualizacja, poprawki i tweaki kernela
- poprawki w KSM
- włączenie zRAM
- sporo poprawek stabilności
- Aktualizacja Ustawień NovaThor do wersji 1.4
- polskie tłumaczenie UNT - dzięki projektowi Crowdin
Błędy wersji:
- Ustawienia NovaThor - zamykają się po wybraniu submenu Ekran. Rozwiązanie: zainstaluj wersję 1.5 Ustawień...
BUILD 10 [04-05-2014]
* Aktualizacja źródeł ROMu (stan na dzień 03-05-2014r.)
- Ponownie dodano OmniSwitch (tym razem dodany przez CarbonDev;))
- Dodano więcej stockowych dzwonków
- Poprawki stabilności (taaa;)).
* Poprawki źródeł urządzenia
- Czyszczenie i optymalizacja źródeł
- Aktualizacja Ustawień NovaThor
BUILD9 [29-04-2014][niewydany]
* Aktualizacja źródeł ROMu (stan na dzień 29-04-2014r.)
- Poprawki nowego silnika motywów
- Sporo małych poprawek
* Aktualizacja źródeł urządzenia (stan na dzień 29-04-2014r.)
- Aktualizacja Ustawień NovaThor
BUILD8B[23-04-2014]
* Naprawiono crashe aplikacji SMS/MMS przy przychodzących wiadomościach, gdy blacklista była włączona
* Aktualizacja źródeł urządzenia
* Aktualizacja Ustawień NovaThor do wersji 1.2 (m.in. bodaj overvolting)
W przypadku powtarzających się crashów i zawieszeń ("popularne" na innych ROMach, w związku z ostatnimi aktualizacjami źródeł urządzenia /ustawień NovaThor), można spróbować:
a) mniejszyć wartość parametru read ahead do 128 (ustawienia NT)
b) zmienić kernel na najnowszy od @zwliew
c) zmienić rom, licząc że docelowy nie będzie miał tego błędu (np. starszy niż z I dekady kwietnia).
BUILD8[21-04-2014][niepublikowany na FACP]
* Aktualizacja źródeł ROMu [stan na dzień 21-04-2014]
- Poprawki opcji zaznaczania wiadomości tekstowych jako nieprzeczytane
- Dodano nowy Manager Motywów z CM11
TUTAJ mi się coś uciachało podczas modyfikacji, ucierpiały też następne sekcje, nie mam siły/możliwości odtworzenia;)).
---------------------------------------------------------------------------------------------
Galeria:
I jeszcze parę zdjęć:
Kontekstowy pasek stanu (na razie jest dzień, wieczór, noc i święta chyba):
Opcje audio w ustawieniach urządzenia:
I menu wyłączania, dodajemy własne aplikacje:
Kompilacja ROMów w teorii...
Ponieważ bardzo często pada pytanie, czy daną wersję KitKata (wcześniej dotyczyło to innych moich ROMów) oparłem na „najnowszym CM od Rox’a” – postanowiłem przybliżyć Wam, drodzy forumowicze,
- Dodano tryb oszczędzania baterii
- Dodano Omni Performance Control
- Dodano Gesture Lockscreen - odblokowanie telefonu za pomocą gestów:
* Aktualizacja źródeł urządzenia [stan na 21-04-2014]
- Overclock GPU
- Dodano opcje zmniejszania napięcia (dla CPU i GPU)
- Kontrola cyklu ładowania
* Nowa aplikacja ustawień NovaThor do zarządzania powyższymi dodatkami
- Duże czyszczenie źródeł kernela!
BUILD7C[11-04-2014] [niepublikowany na FACP, "niekanoniczny":)]
* Aktualizacja źródeł ROMu [stan na dzień 11-04-2014]
- Zaznaczanie wiadomości tekstowych jako nieprzeczytane
- Naprawiono działanie w trybie ART
* Aktualizacja źródeł urządzenia:
- tweaki wydajnościowe kernela
- Dodatki w aplikacji zaawansowanych ustawień Ace 2
* Ode mnie:
- Aktualizacje i poprawki tłumaczeń (thx @pedroleon1999)
BUILD6B [04-04-2014]
* Aktualizacja źródeł ROMu:
- dodany pasek RAMu w Ostatnich aplikacjach
- naprawione długie przyciśnięcie płytki Cichych Godzin
- naprawiona płytka Carbon
- dodano obsługę kolorów wyświetlacza(?)
- integracja Voice+ z Ustawieniami
* Aktualizacja źródeł telefonu:
- naprawione przełączniki (BLN)
- przywrócono KSM w miejsce niestabilnie działającego UKSM
- kosmetyczne poprawki Ustawień Galaxy Ace 2
- dodany stabilny OC (overclocking) (wymaga testów) (podziękowania dla @cocafe i @Rox)
- dodano wsparcie dla EXFAT (niepotwierdzone)
* Dodano włoskie tłumaczenie ustawień Carbon ROMu
* Dodano aplikacje:
- Klawiatura Xperia (podziękowania dla @kristiancarl)
- Launcher2 (łatwa droga na obejście niedziałającego przycisku ustawień😉)
* Usunięto aplikacje:
- Launcher3
- LockClock
- Screen Recorder
- CarbonWallpapers
- domyślną klawiaturę - LatinIME
* Usunięto Live Wallpapers:
- Basic
- BlueBalls
- Galaxy4
- MagicSmoke
- MusicVisualization
- NoiseField
- PhaseBeam
* Dodano ustawienia czasu, po którym klawisz wstecz ubija aplikację (LongPress kills app)
BUILD5[26-03-2014]
* Aktualizacja źródeł ROMu [stan na dzień 25-03-2014] [brak spektakularnych dodatków]
* Aktualizacja źródeł urządzenia i kernela [stan na dzień 25-03-2014]
- aktualizacja KSM do UKSM (ultra kernel samepage merging), usuwający niektóre ograniczenia poprzednika
- poprawki w zarządzaniu energią
- poprawa wydajności
* Całkowicie przemodelowana aplikacja Ustawień Galaxy Ace 2 (podziękowania dla @Zwliew i @Rox)*:
- dodano przełącznik algorytmu TCP (w teorii pozwala poprawić osiągi pobierania/wysyłania danych)
- dodano przełącznik trybu Wi-Fi PM_Max (oszczędza energię kosztem transferu)
- dodano przełącznik Multicore Power Saving (organizacja zadań w sposób wykorzystujący jak najmniejszą ilość rdzeni – działanie zbieżne z wykorzystaniem zarządcy Hotplug, dlatego nie zaleca się używać tej opcji z zarządcą hotplug)
- dodany przełącznik BLN (powiadomienia z użyciem podświetlenia klawiszy)
- kontrola wartości read ahead (w teorii pozwala na poprawę osiągów we/wy pamięci)
* Nowy workaround na ciche rozmowy przychodzące (podziękowania dla @H3llrais3r)
* Kernel nie jest już brudny;) [Tag „dirty” w nazwie kernela]**
* Integracja nowej aplikacji „Ustawienia Galaxy Ace 2” z Włóknami Węglowymi (Ustawienia urządzenia)
* UWAGA! Część z nowych, jak i niektóre stare opcje Ustawień Galaxy Ace 2 mogą z powodu błędu autora (jak sam twierdzi) nie działać w obecnym wydaniu… Informację o tym fakcie otrzymałem już po rozpoczęciu kompilacji/synchronizacji źródeł…
** Prawdopodobnie występowanie „dirty” w nazwie kernela nie ma żadnego wpływu na jego działanie. Kernel w ten sposób sygnalizuje, iż podczas kompilacji w źródłach znajdowały się zmiany spoza danej gałęzi źródeł. Zmiana czysto kosmetyczna (i nie wiadomo czy na stałe;)).
BUILD4 [19-03-2014]
* Aktualizacja źródeł ROMu:
- Modyfikowalny pasek postępu
- Oddychające powiadomienia o SMS i nieodebranych połączeniach
- Rozbudowana kontrola głośności
- Obracanie płytek szybkich ustawień po wciśnięciu
- Poprawki DSPManagera
- zintegrowanie Włókien Węglowych z aplikacją Settings.apk (na razie więcej z tego szkody niż pożytku)
* Aktualizacja źródeł urządzenia
- dodano opcję "podkręcania" audio
* Aktualizacja i poprawki tłumaczenia Carbon Fibers
* Dodany (w źródłach) OmniSwitch
* Ustawienia zaawansowane Ace II -> Carbon Fibers: Ustawienia urządzenia
* Naprawa nagrywania wideo
* Tłumaczenie Ustawień - prawie 100% tłumaczenia
* Usunięto niedziałającą opcję Screen Record z menu Wyświetlacza
* Nagłówek paska powiadomień zależny od pory dnia i okoliczności
Build 3 [14-03-2014]
* Aktualizacja źródeł ROMu (na dzień 14-03-2014)
* Aktualizacja źródeł urządzenia (na dzień 13-03-2014)
* Aktualizacja tłumaczenia Carbon Fibers. Uwaga - tłumaczenie nowych opcji jest póki co tragiczne, ponieważ elementy tłumaczone są osobno, a efekt końcowy widoczny jest dopiero w telefonie. Poprawię w następnej wersji.
* Naprawiono błąd długiego wciśnięcia guzika trybu sieci (2g/3g) - prawidłowo przenosi do ustawień
* Dodano możliwość zmiany stylu wyświetlania wskaźnika zasięgu
* Dodano opcję Smart Pulldown (ściągnięcie statusbara powoduje automatyczne wyświetlenie szybkich ustawień, w przypadku gdy nie ma powiadomień/usuwalnych powiadomień)
* Pewnie jeszcze coś, nie pamiętam
Build 2 [08-03-2014]
* Aktualizacja źródeł ROMu (na dzień 07-03-2014)
* Usunięto błąd rotacji (rotation glitch)
* Pełne polskie tłumaczenie Ustawień Galaxy Ace 2
* (Niemal) pełne polskie tłumaczenie Włókien Węglowych (Carbon Fibers), całkowicie przerobione w stosunku do wersji z Carbon 4.3
Tłumaczenie nie jest doskonałe – jeśli chcesz pomóc, podaj swoje propozycje tłumaczenia (bądź skrócenia za długich stringów) – w takim wypadku podaj podmenu, w którym znajdę tekst do zamiany
Build 1 [01-03-2014]
* Aktualizacja źródeł ROMu (na dzień 28-02-2014)
* Naprawiono błędy Bluetooth
* Nowy STE power hal
* Dodano planistę Sioplus
* Dodano zarządcę PegasusQ
* Lepsze zarządzanie RAMem
* Naprawiono działanie stock’owej aplikacji aparatu
* Dodano włączanie Sweep2Wake w Ustawieniach Zaawansowanych
BUILD 0 – Niewydany [16-02-2014]
* Pierwsza wersja
* Implementacja kernela 3.0.101
---------------------------------------------------------------------------------------------
Błędy / nie działa:
* wideo w aplikacjach streamingowych
* Ty mi powiedz:)
---------------------------------------------------------------------------------------------
Dotacje:
- koozzkoozz - 2,61$ (3,00$)
- Paco1416 (XDA) - 4,50$ (5,00$)
Łącznie: - 7,11$ (8,00$)
---------------------------------------------------------------------------------------------
W następnej wersji [no ETA]:
- Kombinacje Ryccardo - eksperymentalny build pozwalający usunąć partycję UMS całkowicie
- Nie-Carbon i Nie-Omni 😉).
---------------------------------------------------------------------------------------------
Dodatki:
Wyłączenie podświetlenia klawiszy: (dodam później)
Blokowanie reklam: (MoaAB) Mother of All AD-BLOCKING (26 MARCH 2014) BLOCKS Malware Spyware Bloatware - xda-developers
Alternatywna czcionka: Android4.4-KitKat-RobotoCondensed Fonts - xda-developers
Mini paczka GAPPs: Dev-Host - The Ultimate Free File Hosting / File Sharing Service
---------------------------------------------------------------------------------------------
Galeria:
I jeszcze parę zdjęć:
Kontekstowy pasek stanu (na razie jest dzień, wieczór, noc i święta chyba):
Opcje audio w ustawieniach urządzenia:
I menu wyłączania, dodajemy własne aplikacje:
Kompilacja ROMów w teorii...
Ponieważ bardzo często pada pytanie, czy daną wersję KitKata (wcześniej dotyczyło to innych moich ROMów) oparłem na „najnowszym CM od Rox’a” – postanowiłem przybliżyć Wam, drodzy forumowicze, proces kompilacji ROMu. Nie jest to żadną miarą próba naukowego podejścia do sprawy, ani też poradnik, na podstawie którego moglibyście spróbować własnych sił [aczkolwiek w ramach możliwości służę pomocą].
Środowisko
Dla potrzeb tej notki przyjmijmy, iż optymalnym środowiskiem do kompilowania ROMów jest 64bitowa wersja linuxa. Wybór konkretnej dystrybucji nie ma znaczenia kluczowego, aczkolwiek większość poradników odnosi się do Ubuntu w wersji 12.04… Sam wielokrotnie przygotowywałem dla siebie środowisko do kompilacji, aktualnie od dłuższego czasu używam właśnie Ubuntu 12 w wersji LTS (czyli w skrócie z długim wsparciem). Sam system operacyjny to jednak nie wszystko, należy go odpowiednio przygotować, instalując niezbędne pakiety. Jak wspomniałem – w sieci można znaleźć całkiem pokaźną liczbę poradników, niestety – żaden z tych, które sprawdzałem nie okazał się idealny. Dla mnie optymalnym rozwiązaniem okazało się łączne zastosowanie kombinacji dwóch poradników (w tym oficjalnego dołączonego do źródeł androida od google’a).
OK., kiedy mamy już przygotowane środowisko należałoby rozejrzeć się za źródłami…
Źródła
No tak, musimy zadecydować, co tak właściwie chcielibyśmy skompilować. Ograniczając wybór do naszego Galaxy Ace 2 – możemy skompilować w chwili obecnej niemal w pełni działające ROMy oparte na Androidzie w wersji 4.2.x, 4.3.x oraz 4.4.x. Wersja 4.1.x pamięta jeszcze czasy Bagnz0ra (który nieśmiało ujawnił się na powrót kilka dni temu) i nie(stety?) nie zapewnia takiego działania jak ROMy przygotowane na źródłach wyższej wersji systemu. Dodatkowo sytuację utrudnia fakt, iż w miarę rozwoju prac nad nowszymi ROMami, twórcy kasują źródła starszych, uniemożliwiając kompilację. W ten sposób pozbawiono nas między innym możliwości cieszenia się pełnosprawnym Carbonem 4.2, czy też (nieco później) – LiquidSmooth’a…
Zasadniczo źródła dzielimy na dwa typy:
1.Źródła ROMu
2.Źródła urządzenia
Te pierwsze to (co oczywiste) źródła charakterystyczne dla konkretnego ROMu (aczkolwiek obecnie developerzy korzystają z niektórych źródeł wspólnie, w więcej niż jednym ROMie). Znajdziemy tutaj zatem np. repozytoria aplikacji danego ROMu, Framework, etc. Żeby nieco zaciemnić obraz napiszę, iż „oficjalne” źródła większości ROMów zawierają też źródła urządzeń, które są oficjalnie wspierane.
Bardzo ważnym plikiem jest tzw. manifest (platform manifest). W uproszczeniu – jest to plik, w którym zawarto spis repozytoriów składających się na dany ROM, wraz z informacją skąd je pobrać (pobieranie repozytoriów odbywa się automatycznie;)). Obok wspomnianego pliku często stosuje się tak zwany manifest lokalny. Dzięki temu plikowi możemy do oficjalnych repozytoriów dopisać własne (np. źródła urządzenia, bądź oficjalne repozytoria, które modyfikowaliśmy i zapisaliśmy zmiany na własnym koncie git hub), bądź wskazać systemowi, które oficjalne repozytoria należy pominąć przy synchronizacji źródeł…
Źródła urządzenia (w skrócie, bo są i inne, np. vendor czy hardware w przypadku Ace 2) dzielą się zasadniczo na dwa elementy:
- źródła jądra (kernela) danego urządzenia
- drzewo urządzenia (device tree).
W przypadku występowania na rynku podobnych urządzeń, bazujących na tym samym hardware – developerzy dzielą często device tree na dwie części – pasującą do danego urządzenia (właściwe drzewko urządzenia) oraz części wspólnej (common), takiej samej dla urządzeń z danej rodziny. Ma to na celu uproszczenie procesu rozwijania źródeł urządzenia. My także mamy taki właśnie przypadek „podziału źródeł” dla sprzętów z rodziny NovaThor (Ace 2, S Advance, S III Mini, etc.).
W końcu przechodzimy do meritum, czyli…
Kompilacja
Nadszedł czas wyjaśnić (choć pewnie część z was, która dotarła do tego miejsca, już się domyśla), dlaczego zmiany dokonane przez Roxa w CM11 pojawiają się natychmiast w innych ROMach.
Głównym elementem, modyfikowanym przez osoby zajmujące się supportowaniem konkretnego urządzenia są oczywiście źródła kernela i drzewko urządzenia. A te dwa elementy z kolei, oprócz zmian niezbędnych dla zainicjowania procesu kompilacji konkretnego ROMu [o tym, może, kiedy indziej] są takie same (te same, które modyfikuje Rox) dla każdego ROMu z danej wersji androida.
To nie jest tak, że robiąc nową wersję Carbon ROMu „kradnę” pomysły i zmiany dokonane przez Roberta – po prostu aktualizując (automatycznie) źródła – automatycznie zaciągam te zmiany. Zatem jest właściwie odwrotnie niż możnaby podejrzewać – żeby NIE kopiować modyfikacji „z CM” musiałbym albo wykluczyć drzewko urządzenia / kernel z automatycznej synchronizacji, albo RĘCZNIE cofnąć te zmiany (co, w związku z konstrukcją githuba, nie jest takie znowu trudne, ale czy jest celowe i zasadne?). Resumując – wkład Roxa w rozwój „sceny” jest niezaprzeczalny i niepodważalny, natomiast kopiowanie jego poprawek odbywa się w sposób automatyczny.
Na razie to wszystko, chciałem napisać, żebyście się nie krępowali, jeśli macie jakieś pytania, ale w związku z tym, że ten wątek nie jest „na temat” – proszę o ew. pytania na PM.
to do list:
·GITHUB – co to jest
·komendy stosowane przy kompilacji
·zbieranie wiśni
·i więcej;)