Skocz do zawartości
Zodex

Jak zbudować rom?

    Rekomendowane odpowiedzi

    maxprzemo

    @Kaduczi94

    ROM'y kompiluje się na domowym PC czy laptopie. Warunek jest jeden musi to być komputer z 64 bitowym linuksem na pokładzie bo pod windows'a nie ma wszystkich  niezbędnych narzędzi i programów. Ile będzie trwała kompilacja zależy od wydajności CPU komputera. Może to być godzina-dwie a może to być też dwadzieścia godzin. Cała kompilacja odbywa się na CPU komputera więc karta graficzna nie ma znaczenia. Dobrze mieć też dużo pamięci RAM. 

    Źródła ROM'ów pobiera się z repozytoriów (przykład dla ROM'u XenonHD https://github.com/TeamHorizon ). Przeważnie jest to kilkaset repozytoriów z różnych lokalizacji. Android Oreo to około 40 GB danych z kilkuset repozytoriów. Na szczęście nie trzeba wiedzieć które repozytoria są nam potrzebne. Od tego jest główne repozytorium ROM'u przeważnie o nazwie platform_manifest (przykład dla ROM'u XenonHD https://github.com/TeamHorizon/platform_manifest ) w którym jest plik default.xml (https://github.com/TeamHorizon/platform_manifest/blob/o/default.xml) ze spisem wszystkich niezbędnych repozytoriów. Pobieranie źródeł zaczynamy właśnie od tego repozytorium czyli od repo init. Następnie uruchamiamy automatycznie pobieranie pozostałych repozytoriów komendą repo sync.  Cała instrukcja pobierania z pełnymi komendami powinna być w tym repozytorium.

    Komendę łatwo rozgryźć bo oznacza nic innego ja synchronizuj repozytoria. Cały proces synchronizacji potrwa trochę i zależy od tego jak szybki mamy internet oraz jakie jest obciążenie serwerów. 

     

    Budowanie ROM'u pod konkretne urządzenie wymaga dodanie do źródeł tzw. Drzewa urządzenia (device tree). Składają się na nie trzy albo cztery repozytoria.Główne repozytorium Device ze specyfikacją urządzenia. Repozytorium Kernel ze źródłami kernela dla danego urządzenia oraz repozytorium Vendor z zamkniętymi bibliotekami urządzenia.  Jeśli nie jesteś programistą to poszukaj gotowych repozytoriów dla twojego telefonu na GitHub. Bo tu już jest wymagana jakaś wiedza. 

     

    Ogólnie kompilowanie ROM'u nie jest to jakaś magia tylko trzeba poświęcić na to czas i czytać, czytać i czytać.

    Edytowane przez maxprzemo
    • Piwko! 1
    • Smutny 1

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Czyli  z mojego tel potrzebuje tylko device tree . A teszta jak leci . Nie wazne czy to oreo czy gingerbread ? . 

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    maxprzemo

    @Kaduczi94

    device tree buduje się pod konkretne urządzenia ale też pod konkretną wersję systemu. Różnic w plikach konfiguracyjnych są niejednokrotnie duże. Opiera się to o tzw. Gałęzie rozwoju (branch). Nawet źródła są podzielone na wersję systemu:

    https://github.com/TeamHorizon/platform_manifest

    Kliknij link wyżej a następnie 

    Spoiler

    5ac08ed2468c3_Zrzutekranuz2018-04-0109-44-54.thumb.png.a57ed4e2054707e4df04ad6cd3ac43d0.png

    Będziesz mógł się przełączyć na inną gałąź rozwoju.

    Ogólnie najlepiej zacząć od założenia sobie konta na GitHub https://github.com/ oraz na xda https://forum.xda-developers.com/

    I poszperać co nieco. Bardzo dobry poradnik znajdziesz na xda https://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763 . Stary nie aktualny ale pokazuje wszystko co trzeba opanować.

    Edytowane przez maxprzemo

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ok, dzięki za pomoc ;) . Jeszcze jedno pytanie . Czy można też edytować gotowe romy w zipach ? . Składać jeden z kilku działających ? Czy nieda rady ?

    Wysłane z mojego SM-A500FU przy użyciu Tapatalka

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Ooo , fajnie . To moze najpier pobawie sie w ten sposób . W sumie glownie tylko o to mi chodziło . Ale potem pobawie sie w kompilacje . Jeszcze raz wielkie dzieki default_smile.png

     

    Wysłane z mojego SM-A500FU przy użyciu Tapatalka

    . A jak to wygląda u producentów ? . Dostają od Google gotową wersję systemu/aktualizacje i dopisują pliki konfiguracyjne , czy piszą wszystko na nowo pod dany model ? . Bo z tego co zrozumiałem to device tree jest polaczone z modelem i wersją samego systemu ?

     

     

     

    Wysłane z mojego SM-A500FU przy użyciu Tapatalka

     

     

     

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    pomijając fakt składania kilku poradników , to i tak utknąłem i nie znalazłem rozwiązania . Jak połączyć to

    https://github.com/LineageOS/android.git -b lineage-15.1

    z tym
     https://github.com/DeadSquirrel01/android_device_samsung_a5ultexx/tree/lineage-15.1

    chyba jedyne drzewo jakie znalazłem do mnie pod oreo . Gdzie to wkleić o ile to to . Po sklonowaniu mam to w folderze  .

    Niemam pojęcia czy to wgl to i czy dobrze wkleiłem . Ale po komendzie "make" dojdzie do ok.62 i wywala błąd z soong . Byłbym wdzieczny za podpowiedz gdzie wkleja sie te pliki . W kazdym poradniku jest to robione komendą , ale dotyczy tylko wspieranych modeli .

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    piskorfa

    @Kaduczi94 Jeszcze raz zerknij do poradnika z xda, do którego linkował maxprzemo w poście #193 i przeczytaj w nim post #4

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    ciesze sie ze czuwasz i mi o tym przypominasz , ale nadal to nic nie wnosi . Ostatnia komenda w poscie to  time brunch <codename> -j#

    Jak mówiłem , mój model nie jest wspierany . Więc go nie znajduje i na tym koniec . Jest jeszcze możliwość użycia time brunch full-eng która działa ale nie do końca . Dosłownie przy koncu , wywala błąd ze nie znaleziono nawza.zip (zapomniałem pełnej nazwy) Na moje oko to powinno go utworzyć a nie szukać . Oczywisćie cała reszta z postu działa/zrobiona jak należy . Próba z komendą "make" przyniosla rezultat w postaci błędu z soongiem . Może wy spróbujcie , moze cos robie żle . U mnie sciąga sie jakies 3/4h wiec po 5 bedziecie wiedzieć czy działa . Teoretycznie łatwe , praktycznie zawsze mam pod górke

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach
    piskorfa

    @Kaduczi94 Dodałeś lokalny manifest zawierający ścieżki do device, vendor i kernel dla Twojego sprzętu? Nie ma tam mowy o żadnym zip

    Cytuj

    Taking my Ex here of GT-I9082
    After Adding device tree , Vendor , kernel my Local_manifest.xml will look like has follows

    Code:
    
    		

     

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

    Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

    Zarejestruj nowe konto

    Załóż nowe konto. To bardzo proste!

    Zarejestruj się

    Zaloguj się

    Posiadasz już konto? Zaloguj się poniżej.

    Zaloguj się

    • Ostatnio przeglądający   0 użytkowników

      Brak zarejestrowanych użytkowników przeglądających tę stronę.

    x