Skocz do zawartości
bart00

[Tutorial] Kompilacja CyanogenMod Android dla LG l7 p700.

    Rekomendowane odpowiedzi

    bart00

    Temat dla ciekawskich ;-)

    Na podstawie. wiki.cyanogenmod.org

    Wstęp:

    Potrzebny będzie nam komputer (Linux, OS X, Windows) i troche rozsądnej ilości pamięci RAM i około 35 GB wolnej pamięci. Znajomość podstawowej obsługi systemu Android i terminologii. Może być również przydatna znajomość podstawowych pojęć z linii poleceń. Jeśli nie jesteś przyzwyczajony do korzystania z systemu Linux - jest to doskonała okazja aby go poznać. To nic nie kosztuje - wystarczy pobrać i uruchomić maszynę wirtualną (VM), taką jak np VirtualBox, a następnie zainstalować dystrybucję Linuksa.

    Przygotowanie środowiska kompilacji:

    - instalacja sdk

    Jeśli nie zostało wcześniej zainstalowane adb i fastboot, zainstaluj Android SDK. "SDK" oznacza Software Developer Kit i zawiera przydatne narzędzia, które można wykorzystać do oprogramowania Flash, spojrzeć na logi systemowych w czasie rzeczywistym, zrobić screeny itp.

    - zainstaluj pakiety

    Zarówno dla systemów 32-bitowych i 64-bitowych, trzeba:

    bison build-essential curl flex git-core gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev

    W uzupełnieniu do powyższego, dla systemów 64-bitowych:

    g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev

    - tworzenie katalogów:

    
    mkdir -p ~/bin 
    mkdir -p ~/android/system
    

    Następnie wprowadź następujące polecenia aby ściągnąć "repo" i uczynić je wykonywalnym:

    
    curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    chmod a+x ~/bin/repo

    Umieść swój katalog ~/bin w "path of execution"

    Upewnij się, że stworzony katalog ~ / bin jest w "path of execution" tak, aby łatwo można uruchomić polecenie repo, nawet jeśli nie jesteś w ~ / bin. W tym celu wykonaj:

    
    export PATH=${PATH}:~/bin

    Tej zmiany można dokonać także na stałe do wszystkich przyszłych sesji terminala ;-) :

    
    gedit ~/.bashrc

    Uruchomi się graficzny edytor tekstu. Wpisz w osobnym wierszu

    export PATH = $ {PATH}: ~ / bin 
    

    , a następnie zapisz plik.

    - Inicjalizacja repozytytorium CyanogenMod na przykładzie jellby bean:

    cd ~/android/system/
    repo init -u git://github.com/CyanogenMod/android.git -b jellybean
    

    - pobierz kod źródłowy:

    repo sync
    

    Komenda repo sync służy do aktualizacji najnowszego kodu źródłowego z CyanogenMod i Google.

    - pobierz skompilowane aplikacje

    cd ~/android/system/vendor/cm  
    

    a następnie:

    ./get-prebuiltsi 
    

    tutaj uwaga nie będzie widać żadnego potwierdzenia-tylko kolejny wiersz.

    - teraz bardzo ważna rzecz - przygotowanie kodu pod nasze urządzenie:

    Po pobraniu źródeł należy upewnić się, czy są w katalogu głównym kodu źródłowego (cd ~ / android / system), a następnie wpisać:

    source build/envsetup.sh
    breakfast p700
    

    Spowoduje to pobranie konfiguracji konkretnego urządzenia i źródła jądra dla danego urządzenia.Należy używać najnowszej wersji repo-> uruchom repo Selfupdate aby zaktualizować do najnowszej wersji.

    Następnie upewnij się, że twój Optimus L7 jest podłączony do komputera za pomocą kabla USB i że jesteś w katalogu ~ / android/system/device/lg/p700 (możesz wykonać cd ~ / android/system/device/lg/p700 w razie potrzeby ). Następnie uruchom:

    ./extract-files.sh

    Powinieneś zobaczyć pliki (aka “blobs”) i przenieśćje do właściwego miejsca w katalogu vendor,

    - włącz buforowanie w celu przyspieszenia kompilacji

    export USE_CCACHE=1

    - Start kompilacji ;-)

    croot
    brunch p700

    Jeżeli kompilacja zakończy się bezbłednie wykonaj:

    # cd $OUT
    

    Plik który nas interesuje nazywa się cm-[coś_tam].zip

    Poradnik i część tłumaczenia amatorska wykonana przeze mnie, zapomniałem dodać że wymagana jest java, polecany system do pracy ubuntu.

    Jako autor tłumaczenia na język polski nie wyrażam zgody na jego kopiowanie i rozpowszechnianie na inne fora, strony www, blogi itp. Moja praca w całości jest własnością portalu android.com.pl.

    Mile widziane komenatrze od developerów uzupełniające temat ;-)

    Edytowane przez pavulon00

    Udostępnij tę odpowiedź


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

    Potwierdzam ;) że poradnik jasno wyjaśnia kroki w gotowaniu romów. Dobre z kilka miesięcy temu w ten sam sposób próbowałem pobrać repo dla p700, ale jak wie @up :E to były trudności z naszą elką: bootloader, root .

    Oczywiście, opcje były robione na Debianie ;)

    Udostępnij tę odpowiedź


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

    masz repo? ;-)

    repo init -u https://github.com/AOKP/platform_manifest.git -b kitkat

    Edytowane przez pavulon00

    Udostępnij tę odpowiedź


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

    Wybrałeś złe urządzenie ;) Terminal sam ci device tree dla l7 nie zrobi ;) Poza tym nie wysłałeś nawet błędu na pastebin, tylko same info jak kompiluje...

    ---------- Post dołączono o 10:02 ---------- Poprzedni post napisano o 10:00 ----------

    P.s Znalazlem kilka błędów, napisze je gdy będę na laptopie ;)

    Błędy :

    - Po pierwsze na linux Ubuntu 12 (Nie mam na chwilę obecną innego) nie ma czegoś takiego jak $, po wklejeniu twojej komendy terminal najpewniej zareaguje tak :

    zodex@micha-G41MT-D3:~$ $ mkdir -p ~/bin $ mkdir -p ~/android/system

    $: command not found

    Natomiast jeżeli usuniesz $ z początku stworzą się 2 foldery o nazwach '$' i 'mkdir'

    Popraw to :) - we wszystkich przypadkach...

    Pozdr.

    Edytowane przez Zodex

    Udostępnij tę odpowiedź


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

    ja wiem że sie wpisuje bez "$" to taki przedrostek dla komendy ;P

    Edytowane przez pavulon00

    Udostępnij tę odpowiedź


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

    Poza tym komendy mkdir, i inne powinny być jak już 1 pod 2, to też może wprowadzić początkującego w błąd :D

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    Gdy używam komendy:

    repo init -u git://github.com/CyanogenMod/android.git -b jellybean

    wyskauje mi błąd:

    fatal: Cannot get https://android.googlesource.com/tools/repo/clone.bundle

    fatal: error unknown url type: https

    Co mam robić? Z góry dziękuję za odpowiedź.;/

    Udostępnij tę odpowiedź


    Odnośnik do odpowiedzi
    Udostępnij na innych stronach

    @up

    Próbowałeś zamiast jellybean wpisać na przykład CM11 ?

    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ę

    • Przeglądający   0 użytkowników

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