Saltar para conteúdo


Foto
* * * * - 1 votos

[Tutorial] Como criar um ambiente proprio para compilar


  • Por favor inicie sessão para responder
3 respostas a este tópico

#1 Duarte777

Duarte777

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 2279 mensagens
  • LocalizaçãoBraga
  • Samsung Galaxy S6

Mensagem publicada 29 December 2012 - 01:54

Bem vindo

Este tutorial pretende explicar/ensinar como criar um ambiente correto para compilar sources android, com este tutorial vais ter o material necessario para compilar qualquer sources como por exemplo, ParanoidAndroid, AOSP, CynogenMod, AOKP, PacMan...


Material obrigatorio:
  • Computador...
  • Sistema operativo Linux, neste caso é usado ubuntu.
  • Ligação á internet.
Como instalar o linux ?
Podes ver aqui (creditos para o TugaPower)


Recomendações:
  • Boa ligação á internet.
  • Computador decente, a ram é importante, pelo menos 4 gb.
  • Caso o linux esteja em dual-boot ou virtual machine, pelo menos 20 gb são necessarios.

O que vai ser instalado neste tutorial ?

1) Dependencias (libs)
2) Python
3) Java JDK 6
4) Android SDK
5) USB
6) Git
7) Repo

Boa sorte !


Nota: Para os passos seguintes basta copiar e colar os comandos no terminal aka linha de comandos.

#Instalar OpenSSL, irá ser necesserio pelo python:

$ sudo apt-get install libssl1.0.0=1.0.1-4ubuntu5.3
$ sudo apt-get install libssl-dev

(Clicar para ampliar)
Imagem colocada


#Instalar dependencias:
Aqui ficam todas e mais algumas libs que uma compilação possa precisar.

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev \
ia32-libs x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 \
lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 \
tofrodos python-markdown libxml2-utils xsltproc readline-common \
libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev \
lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 \
libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev \
libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.6-dev


sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

(Clicar para ampliar)
Imagem colocada

(Clicar para ampliar)
Imagem colocada


# Configurar USB:

gksudo gedit /etc/udev/rules.d/51-android.rules

Vai se abrir um documento em branco, introduzir isto:

#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"
#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"
#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"
#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"

Feito isso, guardar, fechar o documento e correr o seguinte comando:

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules


#Instalar Java JDK 6

Nota: É obrigatorio o uso do JDK 6.

Efetuar o download do JKD a partir daqui (jdk-6u34-linux-x64.bin) :
http://www.oracle.co...ds-1637591.html
Acabado o download, colocar o ficheiro em home e correr os seguintes comandos:

$ sudo mkdir -p /opt/java/64/
$ sudo cp jdk-6u34-linux-x64.bin /opt/java/64
$ sudo su -
$ cd /opt/java/64
$ chmod +x jdk-6u34-linux-x64.bin
$ ./jdk-6u34-linux-x64.bin
$ exit

(Clicar para ampliar)
Imagem colocada

Adicionar localização do JDK ao .bashrc:

$ gksudo gedit ~/.bashrc

Vai-se abrir um documento, no fim adicionar estas linhas:

# Java PATHs
export JAVA_HOME=/opt/java/64/jdk1.6.0_##
export PATH=$PATH:$JAVA_HOME/bin


#Instalar Python:

$ sudo apt-get install python


#Instalar Android SDK:

Efetuar download do SDK a partir daqui:
http://developer.and.../sdk/index.html
Acabado o download, extrair para home.

Adicionar localizações do SDK ao .bashrc e .profile:

$ gksudo gedit .bashrc

Adicionar no fim as seguintes linhas:

# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin

Guardar e fechar

$ gksudo gedit .profile

Adicionar no fim as seguintes linhas:

PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"

Guardar e fechar.


#Instalar o Repo:

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

E chegamos ao fim, neste momento tens o computador preparado para compilar.
Nota: É altamente recomendado reiniciar o sistema para que tudo funcione corretamente.


Informação adicional:

Nesta altura só é preciso fazer o download das sources com as quais queres trabalhar, para tal vamos criar uma pasta e uma subpasta para onde vão as sources:

$ mkdir android
$ cd android
$ mkdir system
$ cd system
$ ********************************

Substituir os "****************" pelo link das sources desejadas, por exemplo para efetuar o download das sources da

ParanoidAndroid:

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

CyanogenMod:

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

AOSP:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

AOKP:

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

Escolhidas as sources é so correr o comando:

repo sync

e esperar que o download acabe, o tamanho das sources é em media e 8gb.


Feito.
Espero que vos ajude :)

Editado por Duarte777, 29 December 2012 - 02:00.

  • qix, Hugo Tender, pedro.miguel.bs e 5 outros gostam disto
HTC One - 4.2.2 Stock

#2 pedro.miguel.bs

pedro.miguel.bs

    Fã de Android

  • Membros
  • PipPipPip
  • 309 mensagens
  • GALXY NEXUS, ASUS MEMO SMART PAD 10, LG MAXIMO BLACK, GALAXY TAB 3 8.0

Mensagem publicada 29 December 2012 - 02:18

Excelente!

Galaxy nexus V4.2.1 (JOP40D.I9250XWMA2) *** Lg Maximo Black V4.0.4 (P97030b-EUR-XX)

ASUS MeMO Pad Smart 10 V4.2.1 (JOP40D.WW_epad-10.6.2.15.4-20130419) ***Galaxy tab 3 8.0 V4.2.2 (JDQ39.T310XWUAMG3)

Anteriores - Lg Maximo One V2.3.3 (LG-P500-V20c) *** Bq Kepler V4.0.3


#3 0livas

0livas

    Membro

  • Membros
  • PipPip
  • 27 mensagens
  • LG Optimus L7 P700

Mensagem publicada 16 March 2014 - 02:36

Boas.
Poderias meter aqui algumas imagens para ver o resultado final (um exemplo) sff?

Enviado do meu LG-P700 através de Tapatalk

#4 PedroRemelhe

PedroRemelhe

    Membro

  • Membros
  • PipPip
  • 47 mensagens

Mensagem publicada 25 April 2014 - 13:37

Excelente!

Olá pedro.miguel.bs,

 

Neste momento estou a desenvolver a minha tese de mestrado na Faculdade de Economia do Porto a qual tem como objetivo estudar as MOTIVAÇÕES que levam os consumidores a participarem no desenvolvimento de produtos para o sistema Android.

 

Verifico que trabalhas no desenvolvimento de ROMs pelo que te pedia para responderes ao questionário que segue com o link abaixo e se te for possível divulgares o questionário junto da tua rede de contactos, principalmente entre aqueles que participam ou já participaram no desenvolvimento deste tipo de produtos para Android (apps, jogos, ROMs, scripts de optimização, etc).

https://docs.google....ZV3ijI/viewform

 

O preenchimento do questionário demora em média 3 minutos.

Obrigado por toda a colaboração dispensada!


Boas.
Poderias meter aqui algumas imagens para ver o resultado final (um exemplo) sff?

Enviado do meu LG-P700 através de Tapatalk

Olá 0livas,

 

Neste momento estou a desenvolver a minha tese de mestrado na Faculdade de Economia do Porto a qual tem como objetivo estudar as MOTIVAÇÕES que levam os consumidores a participarem no desenvolvimento de produtos para o sistema Android.

 

Verifico que trabalhas no desenvolvimento de ROMs pelo que te pedia para responderes ao questionário que segue com o link abaixo e se te for possível divulgares o questionário junto da tua rede de contactos, principalmente entre aqueles que participam ou já participaram no desenvolvimento deste tipo de produtos para Android (apps, jogos, ROMs, scripts de optimização, etc).

https://docs.google....ZV3ijI/viewform

 

O preenchimento do questionário demora em média 3 minutos.

Obrigado por toda a colaboração dispensada!