CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: bluemask con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Pagina 1 di 3 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 26
Discussione:

[GUIDA] Compilare cyanogen per l'emulatore

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di eldiau


    Registrato dal
    Oct 2011
    Località
    Torino
    Messaggi
    150
    Smartphone
    Acer Liquid, Mediacom SmartPad

    Ringraziamenti
    29
    Ringraziato 181 volte in 48 Posts
    Predefinito

    [GUIDA] Compilare cyanogen per l'emulatore

    Attenzione: Questa guida non e' un porting di cyanogen per il nostro tab!!! Non vi premettera' di far girare questa rom, lo scopo e' quello di dare una spinta allo sviluppo!!

    molte delle informazioni che sto per scrivere sono dedotte analizzando la rom e leggendo guide, forum ecc.. ecc.. quindi potrebbero essere imprecise o sbagliate! Mandatemi eventuali correzioni o aggiunte qui nel thread ma anche in messaggio privato dove e' piu' probabile che le veda al volo, cosi' posso integrarle nella quida. Una parte consistente di questa guide e' presa dal wiki di cyanogenmod Android SDK Emulator: Compile CyanogenMod (Linux) - CyanogenMod Wiki modifcata con alcune correzione e ampliata, il wiki di cyanogenmod e' zeppo di informazioni, fateci un giro!

    Per chi: Questa guida e' pensata per dev con una ottima conoscenza di linux, che abbiano almeno una infarinatura di sviluppo C con GCC e Java

    Leggete prima l'altra mia guida: https://www.androidiani.com/forum/me...om-rk29xx.html

    Sappiamo che android in gran parte e' un sistema opensource (escludendo le gapps come il market o gtalk e alcune parti come la sintesi vocale che sono chiuse e copyright di google), per questo motivo gran parte dei sorgenti e dell'ambiente di sviluppo vengono pubblicate sotto il nome di ASOP (Android Open Source Project) su Welcome to Android | Android Open Source che ad oggi e' aggiornato a Gingerbread (honeycomb non e' stato e mai sara' pubblicato) e fra qualche mese passera' ad Ice cream sandwich.

    Utilizzando questi sorgenti una folta comunita' di super-hackers ha iniziato ad arricchire i sorgenti di nuove funzionalita' e tweaks creando la rom android aftermarket piu' famosa ed usata CyanogenMOD! (l'altra rom derivata da ASOP piu' usata e la MIUI ma gli sviluppatori non sono molto aperti e non pubblicano tutto il loro codice), la versione attuale CM7.1 e' ovviamente basata su Gingerbread ma appena verranno publicati i sorgenti passera ad Ice cream. C'e' una grossa differnza fra una rom moddata, dove si possono fare piccoli moglioremente e cambiamenti e una compilata da zero dove si ha il controllo completo sul sul sistema!

    Per far fare il "salto di qualita'" al nostro tablet sarebbe fantastico riuscire a portare una rom com la CyanogenMOD il che,in futuro, ci porterebbe anche Ice cream ! Per riuscire nell'intento dobbiamo creare un device con i rispettivi makefiles, extract-files.sh, overlay ecc... ecc... ma prima di tutto occorre imparare a compilare cyanogen da zero almeno per l'emulatore e famigliarizzare con la sua struttura.

    Il nostro scopo e' ricavare una boot.img e una system.img funzionanti.

    Andiamo per passi:


    1 - UBUNTU 11.10

    E' necessario utilizzare linux! Io uso Ubuntu linux 11.10 64bit quindi posso dare garanzie che questa guida funzionera' su questo sistema, se usate windows vi sogniglio di scaricare VirtualBox che vi permette' di far girare ubuntu "sopra" a windows e usarli contemporaneamente. Quando installate o create la virtual machine ricordate che solo per compilare ci servono 15Gb quindi consiglio di dare almeno 25Gb a linux


    2 - Software necessario

    Occorre scaricare e installare tutti gli i pacchetti necessari, apriamo un terminale e digitiamo i seguenti comandi:
    sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool

    Se utilizzate ubuntu a 64bit eseguite anche:
    sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib

    Ci servono anche le JDK 1.6 che non sono incluse dei repo di Ubuntu quindi aggiungiamo il repo necessario:
    sudo add-apt-repository ppa:ferramroberto/java

    e:
    sudo apt-get update

    quindi installiamo java developer kit:
    sudo apt-get install sun-java6-jdk sun-java6-plugin
    (vi chiedera' di accettare la licenza java)

    verificate di utilizzare il java giusto con "java -version":
    utente@vmotheru:~$ java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03)



    3 - Installiamo ADK

    L'android developer kit, serve a sviluppare applicazioni per android ma contiene un comando molto utili "adb" l'android debugger che ci permette di collgarci al tablet via usb e vedere il log, lanciare una shell, scaricare e caricare file sul sistema.

    Installiamo l'android developer kit scaricando da Android SDK | Android Developers l'archivio http://dl.google.com/android/android-sdk_r15-linux.tgz e salvandolo nella nostra home /home/utente (dove utente e' il nostro user!!)

    sempre da terminale lo scompattiamo:
    tar xvzf android-sdk_r15-linux.tgz

    quindi ci troviamo la cartella android-sdk-linux in /home/utente, lanciamo il comando:
    ~/android-sdk-linux/tools/android
    che apre l'sdk manager e scarica alcune informazioni da internet, quando avra' finito abilitiamo "tools" e "android 2.3.3" e clicchiamo su "Install", accettiamo la licenza e attendiamo che finisca


    4 - Prepariamo il repository

    mkdir -p ~/bin
    curl https://raw.github.com/android/tools_repo/master/repo > ~/bin/repo


    rendiamo eseguibile lo script:
    chmod +x ~/bin/repo

    modifichiamo il path della nostra shell con il comando:
    gedit .bashrc

    Si aprira' la finstra dell'editor andiamo in fondo e aggiungiamo la linea (occhio a sostiuire "utente" con il vostro user!):
    export PATH=$PATH:~/bin:~/android-sdk-linux/platform-tools/:~/android-sdk-linux/tools/

    chiudiamo il terminale e lo riapriamo, in questo modo nel nostro path di ricerca comandi avremo anche i comandi "adb" e "repo"

    procediamo con i seguenti comandi per inizializzare il repo:
    mkdir -p ~/android/system
    cd ~/android/system/
    repo init -u git://github.com/CyanogenMod/android.git -b gingerbread --repo-url=git://github.com/android/tools_repo.git

    vi fara' un paio di semplici domande...

    "synchiamo" i sorgenti:
    cd ~/android/system/
    repo sync

    Questo ultimo comando scarica tutti i sorgenti di android e dipendentemente dalla vostra connessione durera' anche ore!

    scarichiamo l'apk del rommanager:
    ~/android/system/vendor/cyanogen/get-rommanager

    5 - Compilamo!

    cd ~/android/system/
    . build/envsetup.sh
    lunch cyanogen_generic-eng
    mka


    solo questi ultimi 4 comandi verranno utilizzati ad ogni compilazione!!!

    Se in compilazione riceveste un errore del tipo "You have tried to change the API from what has been previously approved." eseguite:
    make update-api
    e riprovate!!


    se volessimo aggiornare il nostro sorgente con gli ultimi sviluppi possiamo usare:
    cd ~/android/system/
    repo sync


    Attenzione perche' cyanogen e' in evoluzione e a volte il repo non e' compilabile perche gli sviluppatore anno introdotto qualche errore, quindi una volta che avete un repo che compila eseguite "repo sync" solo per valide ragioni.


    Se tutto e' anadato bene troverete in:
    ~/android/system/out/target/product/generic

    due cartelle root e system.
    root: da questa cartella dovremo ricostruire boot.img
    system: da questa cartella dobbiamo ricostruire system.img

    Per iniziare a provare la strada piu' corta e' prendere un boot.img da una delle rom che usano system in ext3, crerae una immagine ext3 di system e flashare, il mio risultato fino ad ora e' di riuscire a fare il boot fino a zygote (e gia' non e' male!) poi pero' zygote crasha e la rom rebootta...


    P.S.
    Tutto questo meccanismo ha il bonus di lasciarvi in:
    ~/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3
    on in (a seconda della vostra architettura):
    ~/android/system/prebuilt/linux-x86_64/toolchain/arm-eabi-4.4.3

    Il gcc per arm che vi premette di compilare il kernel o anche roba tipo busybox
    Ultima modifica di eldiau; 16-11-11 alle 21:19

  2. I seguenti 7 Utenti hanno ringraziato eldiau per il post:

    clamel (12-12-11),fintematic (13-11-11),isabella (17-11-11),MagicOne (21-11-11),Samhain (13-11-11),simulatorhck (12-11-11),Sredni (12-11-11)

  3.  
  4. #2
    Androidiano VIP L'avatar di fintematic


    Registrato dal
    Oct 2011
    Località
    Sicilia
    Messaggi
    1,362
    Smartphone
    Xperia Play - Toshiba Folio100

    Ringraziamenti
    631
    Ringraziato 735 volte in 316 Posts
    Predefinito

    Ciao Eldiau bella guida.
    Ho un problemino quando scrivi

    "Occorre scaricare e installare tutti gli i pacchetti necessari, apriamo un terminale e digitiamo i seguenti comandi:
    sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool "

    Io lo scrivo nel terminale ma non me lo fa installare

    mi dice

    "E: impossibile installare il pacchetto shedtool"

  5. #3
    Androidiano L'avatar di eldiau


    Registrato dal
    Oct 2011
    Località
    Torino
    Messaggi
    150
    Smartphone
    Acer Liquid, Mediacom SmartPad

    Ringraziamenti
    29
    Ringraziato 181 volte in 48 Posts
    Predefinito

    Quote Originariamente inviato da fintematic Visualizza il messaggio
    Ciao Eldiau bella guida.
    Ho un problemino quando scrivi

    "Occorre scaricare e installare tutti gli i pacchetti necessari, apriamo un terminale e digitiamo i seguenti comandi:
    sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool "

    Io lo scrivo nel terminale ma non me lo fa installare

    mi dice

    "E: impossibile installare il pacchetto shedtool"

    Strano usi ubuntu 11.10? nel comando scrivi schedtool? nell'errore hai scritto shedtool (senza la C) e' un errore nel riportare il messaggio o nel comando?

  6. #4
    Androidiano VIP L'avatar di fintematic


    Registrato dal
    Oct 2011
    Località
    Sicilia
    Messaggi
    1,362
    Smartphone
    Xperia Play - Toshiba Folio100

    Ringraziamenti
    631
    Ringraziato 735 volte in 316 Posts
    Predefinito

    Quote Originariamente inviato da eldiau Visualizza il messaggio
    Strano usi ubuntu 11.10? nel comando scrivi schedtool? nell'errore hai scritto shedtool (senza la C) e' un errore nel riportare il messaggio o nel comando?
    Eh già ho sbagliato io funziona grazie

  7. #5
    Androidiano L'avatar di eldiau


    Registrato dal
    Oct 2011
    Località
    Torino
    Messaggi
    150
    Smartphone
    Acer Liquid, Mediacom SmartPad

    Ringraziamenti
    29
    Ringraziato 181 volte in 48 Posts
    Predefinito

    Quote Originariamente inviato da fintematic Visualizza il messaggio
    Eh già ho sbagliato io funziona grazie
    Ottimo... vai che abbiamo bisogno di volenterosi compilatori di kernel :-)

  8. Il seguente Utente ha ringraziato eldiau per il post:

    fintematic (13-11-11)

  9. #6
    Androidiano VIP L'avatar di fintematic


    Registrato dal
    Oct 2011
    Località
    Sicilia
    Messaggi
    1,362
    Smartphone
    Xperia Play - Toshiba Folio100

    Ringraziamenti
    631
    Ringraziato 735 volte in 316 Posts
    Predefinito

    Quote Originariamente inviato da eldiau Visualizza il messaggio
    procediamo con i seguenti comandi per inizializzare il repo:
    mkdir -p ~/android/system
    cd ~/android/system/
    repo init -u git://github.com/CyanogenMod/android.git -b gingerbread --repo-url=git://github.com/android/tools_repo.git
    vi fara' un paio di semplici domande...
    Ciao Eldiau,
    ho un problema a questo passaggio, mi dice 'bash: /home/john/bin/repo: Permesso negato'

  10. #7
    Senior Droid


    Registrato dal
    Sep 2011
    Messaggi
    488

    Ringraziamenti
    18
    Ringraziato 30 volte in 22 Posts
    Predefinito

    Quote Originariamente inviato da fintematic Visualizza il messaggio
    Ciao Eldiau,
    ho un problema a questo passaggio, mi dice 'bash: /home/john/bin/repo: Permesso negato'
    Hai provato con il sudo prima di repo.....?

  11. #8
    Androidiano VIP L'avatar di fintematic


    Registrato dal
    Oct 2011
    Località
    Sicilia
    Messaggi
    1,362
    Smartphone
    Xperia Play - Toshiba Folio100

    Ringraziamenti
    631
    Ringraziato 735 volte in 316 Posts
    Predefinito

    Quote Originariamente inviato da simulatorhck
    Originariamente inviato da fintematic
    Ciao Eldiau,
    ho un problema a questo passaggio, mi dice 'bash: /home/john/bin/repo: Permesso negato'
    Hai provato con il sudo prima di repo.....?

    Si e se metto sudo mi dice sudo? Repo?


    Inviato dal mio SMARTPAD810C usando Androidiani App

  12. #9
    Androidiano L'avatar di eldiau


    Registrato dal
    Oct 2011
    Località
    Torino
    Messaggi
    150
    Smartphone
    Acer Liquid, Mediacom SmartPad

    Ringraziamenti
    29
    Ringraziato 181 volte in 48 Posts
    Predefinito

    Quote Originariamente inviato da fintematic Visualizza il messaggio
    Si e se metto sudo mi dice sudo? Repo?


    Inviato dal mio SMARTPAD810C usando Androidiani App
    Acc... colpa mia... ho dimenticato un passaggio, bisogna rendere eseguibile repo:

    chmod +x ~/bin/repo

    ora correggo la guida!

  13. #10
    Androidiano VIP L'avatar di fintematic


    Registrato dal
    Oct 2011
    Località
    Sicilia
    Messaggi
    1,362
    Smartphone
    Xperia Play - Toshiba Folio100

    Ringraziamenti
    631
    Ringraziato 735 volte in 316 Posts
    Predefinito

    Quote Originariamente inviato da eldiau
    Originariamente inviato da fintematic
    Si e se metto sudo mi dice sudo? Repo?


    Inviato dal mio SMARTPAD810C usando Androidiani App
    Acc... colpa mia... ho dimenticato un passaggio, bisogna rendere eseguibile repo:

    chmod +x ~/bin/repo

    ora correggo la guida!

    Okay dopo provo :-)


    Inviato dal mio SMARTPAD810C usando Androidiani App

Pagina 1 di 3 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy