CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

[GUIDA] Compilazione ROM dai sorgenti

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
    Androidiani Power User L'avatar di cesco


    Registrato dal
    Sep 2010
    Località
    Bg
    Messaggi
    5,018
    Smartphone
    TYTN2,desire,desireHD, oneX

    Ringraziamenti
    54
    Ringraziato 1,346 volte in 724 Posts
    Predefinito

    [GUIDA] Compilazione ROM dai sorgenti

    Questa guida, visto che siamo nella sezione One-X utilizzerà per la compilazione i sorgenti della IceColdJelly 4.2.1, la piu' semplice per cominciare visto che non necessita di modifiche a livello di configurazione.

    Cosa serve:
    • - Un PC con almeno 4GB di ram e un bel po di spazio sull'HDD e un processore abbastanza potente ( io utilizzo un hp pavilion con Intel Core i3) ( i sorgenti occuperanno circa 25GB di spazio)
    • - una distro Linux ( consigliata Ubuntu o Mint, SOLO 64 bit )
    • - la configurazione dell'USB, dell'MTP e dell'Android SDK come spiegato qui: [GUIDA] Collegamento USB / MTP Ubuntu e impostazione Android SDK
    Impostazioni iniziali:
    • nei passaggi seguenti installeremo diversi binari che serviranno poi per la compilazione, quindi:
    • - aprite il terminale e installate i seguenti pacchetti:

      codice:
      sudo apt–get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool
      codice:
      sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline6-dev gcc-4.4-multilib g++-4.4-multilib
    • -create la directory nella cartella vostra cartella Home per la repo:
      aprite il terminale e digitate:
      codice:
      mkdir //reponame//
      sostituite //reponame// con il nome che volete ( ad esempio mkdir icjrepo)
    • -installate il binario Repo ( ci serve per il download e il sync della repo )
      codice:
      mkdir ~/bin
      PATH=~/bin:$PATH
      curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
      chmod a+x ~/bin/repo
    • - aprite il file .bashrc e aggiungete la riga seguente ( ci servira' per richiamarlo le volte successive senza dover inserire la path al binario repo) :
      codice:
      #repo tool
      export PATH=${PATH}:~/bin
    • -installate Java6 Oracle:
    • -scaricate l'archivio .bin "Linux X64" da qui: Java SE Development Kit 6u26
    • -rendete il file eseguibile:
      codice:
      chmod a+x [version]-linux-i586.bin
    • -avviate il file nel terminale:
      codice:
      ./[version]-linux-i586.bin
      durante l'installazione vi chiederà se volete registrarvi sul sito Oracle, premete enter e si aprira' la schermata di registrazione. La registrazione NON E' obbligatoria quindi chiudete il browser e lasciate che continui ad estrarre i files
    • -tutti i file verranno estratti in una cartella chiamata ad esempio jdk1.6.0_30 nella directory in sui avete scaricato il .Bin
    • -ora rinominate la cartella come segue:

      codice:
      mv jdk1.6.0_30 java-6-oracle
    • -ora dobbiamo copiare la cartella nella directory corretta, quindi:

      codice:
      sudo cp -r java-6-oracle /usr/lib/jvm
    • -installate il selettore per JDK come segue:

      codice:
      wget http://webupd8.googlecode.com/files/update-java-0.5b
      chmod +x update-java-0.5b
      sudo ./update-java-0.5b
    • -dalla finestra che vi comparirà, selezionate "java-6-oracle" e cliccate ok
    • -installate altri pacchetti necessari ( se durante l'installazione vi dice che alcuni pacchetti non sono disponibili, semplicemente ridate il comando senza il pacchetto che causa l'errore)

      codice:
      sudo apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool xsltproc
      codice:
      sudo apt-get install g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib
      codice:
      sudo apt-get install libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
    • -date poi il seguente comando

      codice:
      sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
    • - installate CCache:
      codice:
      sudo apt-get install ccache
    • -create una cartella nella vostra home nominata ccache
      codice:
      mkdir ccache
    • -editate il .bashrc per fare in modo che il sistema utilizzi ccache

      codice:
      sudo gedit .bashrc
    • -aggiungete al termine del file le righe seguenti:

      codice:
      # CCache
      export USE_CCACHE=1
      export CCACHE_DIR=$HOME/ccache
      export CCACHE_LOGFILE=$HOME/ccache/ccache.log
    • -salvate e chiudete!
    • -bene, la configurazione e' terminata!


    Inizializzazione della Repo:
    • - dal termiale spostatevi nella cartella che avete creato prima per la repo
      codice:
      cd //reponame//
      ad esempio cd icjrepo
    • - inizializzate la repo con:

      codice:
      repo init -u git://github.com/IceColdJelly42/platform_manifest.git -b jb-mr1
    • - durante l'inizializzazione vi chiedera' username e email, lasciate inalterato il nome, non inserite l'email e confermate il tutto quando ve lo richiederà
    • - ora sincronizzate la repo:
      codice:
      repo sync
    • - questo passaggio impiegherà diverse ore per completarsi poichè dovrà scaricare tutti i sorgenti ( circa 25GB)
    • - una volta terminato compilatela con:

      codice:
      ./vendor/aokp/build.sh
    • - la prima compilazione impiegherà diverso tempo, mediamente 90 minuti, mentre le volte successive la compilazione dovrebbe assestarsi sull'ora circa ( ovviamente, piu' il vostro HW e' potente, meno ci vorrà per compilarla)
    • - se tutto va bene al termine avrete una schermata come questa:


    • - il vostro pacchetto lo troverete nella cartella della repo seguendo questo percorso:

      codice:
      reponame/out/target/product/endeavoru/aokp_endeavoru_unofficial_Feb-05-13.zip
    • - Divertitevi!

    • - NOTA BENE: per aggiornare la repo con gli ultimi sorgenti basterà ridare il comando
      codice:
      repo sync
      e questo si occuperà di aggiornare la repo scaricando solo i nuovi commits ed eliminando i vecchi, oppure quelli non piu' necessari
      prima di rilanciare la compilazione pero' dovrete digitare:

      codice:
      make clean
      in modo che tutti i vecchi file della vecchia compilazione vengano eliminati , dopo questo comando potrete ridare il comando di build, quindi:
      codice:
      ./vendor/aokp/build.sh


    Special Thanks to the IceColdJelly Team for the Original Guide: http://forum.xda-developers.com/showthread.php?t=2052610][ROM] [31JAN] [AOKP] IceColdJelly421 - 1.6 - JellyBean 4.2.1_r1
    Ultima modifica di cesco; 06-02-13 alle 10:04
    Follow me on:
    <!-- Place this tag where you want the widget to render. -->
    <div class="g-person" data-width="180" data-href="//plus.google.com/113012341277613226011" data-theme="dark" data-rel="author"></div>

    <!-- Place this tag after the last widget tag. -->
    <script type="text/javascript">
    window.___gcfg = {lang: 'it'};

    (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    })();
    </script>
    <br>
    <a class="twitter-timeline" href="https://twitter.com/xcesco89" data-widget-id="398762031488040960">Tweets di @xcesco89</a>
    <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementB yId(id)){js=d.createElement(s);js.id=id;js.src=p+" ://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}} (document,"script","twitter-wjs");</script>
    Androidiani app
    Estensione Androidiani per Google Chrome

  2. I seguenti 6 Utenti hanno ringraziato cesco per il post:

    Guildamx (05-02-13),htconex (08-02-13),msquared (05-02-13),NiloGlock (15-05-14),umberto1978 (06-02-13)

  3.  
  4. #2
    Baby Droid


    Registrato dal
    Jan 2013
    Messaggi
    13

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    e se invece dei sorgenti della IceColdJelly 4.2.1 usassi quelli rilasciati da htc dev? la guida rimarrebbe uguale?

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