CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro 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

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

[Guida] Compilazione android 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
    Senior Droid


    Registrato dal
    Dec 2012
    Messaggi
    440

    Ringraziamenti
    19
    Ringraziato 54 volte in 48 Posts
    Predefinito

    [Guida] Compilazione android dai sorgenti

    Ciao a tutti,
    condivido la mia esperienza nella compilazione di android per i tablet basati sull'A13 (come il 706i).
    Le mie prove sono state fatte con i sorgenti 4.0.4 ma potrebbe essere un punto di partenza per compilare anche le versioni successive.

    1) Preparazione dell'ambiente di build
    La prima cosa da fare è preparare l'ambiente per il build:
    • prendere una macchina con un processore decente e abbastanza ram (consigliati 4GB) e installare Ubuntu 10.04 64 bit. Scaricate proprio questa versione, in quanto è quella utilizzata di solito per la compilazione.
    • Sostituire l'openjdk installato di default su ubuntu con il sun jdk 6:
      scaricate il file jdk-6u41-linux-x64.bin da qui: Java Archive Downloads - Java SE 6 e installatelo seguendo queste istruzioni:
      codice:
      $ chmod +x jdk-6u41-linux-x64.bin
      $ sudo ./jdk-6u41-linux-x64.bin
      $ sudo mv jdk1.6.0_41 /usr/lib/jvm/
       
      $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_41/bin/java 1
      $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_41/bin/javac 1
      $ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_41/bin/javaws 1
      $ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_41/bin/javaws 1
       
      $ sudo update-alternatives --config java
      $ sudo update-alternatives --config javac
      $ sudo update-alternatives --config javaws
      $ sudo update-alternatives --config jar
    • Installare i pacchetti richiesti:
      codice:
      $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
        zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
        x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
        libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
        libxml2-utils xsltproc
      
      $ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
      $ sudo apt-get install uboot-mkimage
      $ sudo apt-get update


    2) Scaricare i sorgenti


    3) Adattare i sorgenti al dispositivo
    • sostituire il file a13/android4.0/device/softwinner/nuclear-evb/init.sun5i.rc con quello allegato
    • sostituire il file a13/android4.0/device/softwinner/nuclear-evb/ueventd.sun5i.rc con quello allegato
    • sostituire il file a13/android4.0/device/softwinner/nuclear-evb/BoardConfig.mk con quello allegato.
      NB: alla fine del file c'è la seguente sezione commentata:
      codice:
      #BOARD_HAVE_BLUETOOTH := true
      #BOARD_HAVE_BLUETOOTH_BCM := true
      #BOARD_HAVE_BLUETOOTH_CSR:= true
      #SW_BOARD_HAVE_BLUETOOTH_NAME := hwmw269v2
      per abilitare il bluetooth dovrebbe bastare decommentare queste righe, cioè togliere il # iniziale, ma ormai ho formattato l'ambiente di build e non ho il tempo di ripristinarlo. Se qualcuno vuole provare poi ci può dire se funziona
    • modificare il file a13/lichee/tools/pack/chips/configs/android/a13-evb/sys_config1.fex
      (dalla home)
      codice:
      gedit a13/lichee/tools/pack/chips/configs/android/a13-evb/sys_config1.fex
      sostituire le sezioni ctp_para, gsensor_para, lcd0_para in questo modo:
      codice:
      [ctp_para]
      ctp_twi_id = 1
      ctp_used = 1
      ctp_name = "ft5x_ts"
      ctp_twi_addr = 0x38
      ctp2_used = 1
      ctp2_name = "ssd253x-ts"
      ctp2_twi_addr = 72
      ctp2_ssd_type = 75801
      ctp9_used = 1
      ctp9_name = "gt811"
      ctp9_twi_addr = 93
      ctp_screen_max_x = 800
      ctp_screen_max_y = 480
      ctp_revert_x_flag = 0
      ctp_revert_y_flag = 0
      ctp_exchange_x_y_flag = 0
      ctp_int_port = port:PG11<6><default><default><default>
      ctp_wakeup = port:PB03<1><default><default><1>
      ctp_io_port = port:PG11<6><default><default><default>
      codice:
      [gsensor_para]
      gsensor_used = 1
      gsensor_name = "mxc622x"
      gsensor_twi_id = 1
      gsensor_twi_addr = 0x15
      gsensor_int1 =
      gsensor_int2 =
      codice:
      [lcd0_para]
      lcd_used = 1
      lcd_x = 800
      lcd_y = 480
      lcd_dclk_freq = 33
      lcd_pwm_not_used = 0
      lcd_pwm_ch = 0
      lcd_pwm_freq = 10000
      lcd_pwm_pol = 1
      lcd_if = 0
      lcd_hbp = 46
      lcd_ht = 1055
      lcd_vbp = 23
      lcd_vt = 1050
      lcd_hv_if = 0
      lcd_hv_smode = 0
      lcd_hv_s888_if = 0
      lcd_hv_syuv_if = 0
      lcd_hv_vspw = 0
      lcd_hv_hspw = 0
      lcd_lvds_ch = 0
      lcd_lvds_mode = 0
      lcd_lvds_bitwidth = 0
      lcd_lvds_io_cross = 0
      lcd_cpu_if = 0
      lcd_frm = 1
      lcd_io_cfg0 = 268435456
      lcd_gamma_correction_en = 0
      lcd_gamma_tbl_0 = 0x0
      lcd_gamma_tbl_1 = 0x10101
      lcd_gamma_tbl_255 = 0xffffff
      lcd_bl_en_used = 1
      lcd_bl_en = port:power1<1><0><default><1>
      lcd_power_used = 1
      lcd_power = port:power0<1><0><default><1>
      lcd_pwm_used = 1
      lcd_pwm = port:PB02<2><0><default><default>
      lcd_gpio_0 =
      lcd_gpio_1 =
      lcd_gpio_2 =
      lcd_gpio_3 =
      lcdd0 = port:PD00<2><0><default><default>
      lcdd1 = port:PD01<2><0><default><default>
      lcdd2 = port:PD02<2><0><default><default>
      lcdd3 = port:PD03<2><0><default><default>
      lcdd4 = port:PD04<2><0><default><default>
      lcdd5 = port:PD05<2><0><default><default>
      lcdd6 = port:PD06<2><0><default><default>
      lcdd7 = port:PD07<2><0><default><default>
      lcdd8 = port:PD08<2><0><default><default>
      lcdd9 = port:PD09<2><0><default><default>
      lcdd10 = port:PD10<2><0><default><default>
      lcdd11 = port:PD11<2><0><default><default>
      lcdd12 = port:PD12<2><0><default><default>
      lcdd13 = port:PD13<2><0><default><default>
      lcdd14 = port:PD14<2><0><default><default>
      lcdd15 = port:PD15<2><0><default><default>
      lcdd16 = port:PD16<2><0><default><default>
      lcdd17 = port:PD17<2><0><default><default>
      lcdd18 = port:PD18<2><0><default><default>
      lcdd19 = port:PD19<2><0><default><default>
      lcdd20 = port:PD20<2><0><default><default>
      lcdd21 = port:PD21<2><0><default><default>
      lcdd22 = port:PD22<2><0><default><default>
      lcdd23 = port:PD23<2><0><default><default>
      lcdclk = port:PD24<2><0><default><default>
      lcdde = port:PD25<2><0><default><default>
      lcdhsync = port:PD26<2><0><default><default>
      lcdvsync = port:PD27<2><0><default><default>
    • modificare il file a13/android4.0/device/softwinner/nuclear-common/ProductCommon.mk
      (dalla home)
      codice:
      gedit a13/android4.0/device/softwinner/nuclear-common/ProductCommon.mk
      cambiando questi valori:
      codice:
      persist.sys.timezone=Europe/Amsterdam
      	persist.sys.language=it
      	persist.sys.country=IT


    4) Compilare!
    (dalla home)
    codice:
    cd a13/lichee
    ./build.sh -p a13_nuclear -k 3.0
    cd ../android4.0
    source build/envsetup.sh
    lunch
    (scegliere il numero corrispondente a nuclear_evb-eng)
    codice:
    extract-bsp             			
    make -j2
    (il numero 2 in make -j2 indica il numero di processori da utilizzare per la compilazione. Potete sostituirlo con il numero di processori a vostra disposizione (es: se avete un quad-core potete mettere make -j4. La compilazione è molto lunga, quindi quanti più processori utilizzate meglio è))

    adesso copiare il file idc allegato in a13/android4.0/out/target/product/nuclear-evb/system/usr/idc
    poi eseguite:
    codice:
    pack
    a questo punto in a13/lichee/tools/pack/ dovreste trovare il file sun5i_android_a13-evb.img da utilizzare con livesuit

    enjoy!
    File allegati

  2. I seguenti 2 Utenti hanno ringraziato enzocoll per il post:

    effeci2 (17-03-13),Pakobis (17-03-13)

  3.  

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