PplWare Mobile

Como compilar uma ROM com o source CyanogenMod 10.1

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Blizard says:

    Bom artigo!
    E ainda bem que aqui foi colocado porque tenho algumas questoes… as tags breakfast, brunch, lunch e outras… o que significam?

    Obrigado

    • MKA é uma derivação melhorada do comando make. O make é lento então foi adicionado o SCHED_BATCH para melhorar a performance do comando. Mka serve para executar a compilação.

      Breakfast: é o comando para configurar o build da rom, para que equipamento a rom é destinada.

      Brunch: É simples, brunch é equivalente a breakfast [device name] && mka bacon

      Bacon: é um termo usado pela CyanogenMod, este termo quer dizer compilar a ROM para o equipamento escolhido.

      Lunch: O lunch é exactamente o mesmo que o breakfast, no entanto, com este podes escolher uma build não oficiais, por exemplo versões especiais.

    • Miguel Almeida says:

      Blizard,

      Podes ver a explicação que o Hélder Ferreira deu porque está correcta. No entanto se quiseres ver algumas “derivações” dos mesmos e ficares a saber mais alguns comandos podes dar uma vista de olhos aqui: http://goo.gl/RJ9hu
      Normalmente só uso o lunch, brunch ou o make bacon.
      Concluindo a explicação do lunch, este comando permite escolher qual a versão da CM que queres compilar, Nightly, Stable, Experimental, Official, Unofficial… Isto basicamente só são tags, porque o conteúdo vai ser o mesmo.
      Dando um exemplo rápido: lunch cm_blade-NIGHTLY
      Sendo que isto pode ser chamado antes com o:
      export CM_NIGHTLY=1
      Em que já não necessitas de o colocar no lunch.

      • lmx says:

        Boas…
        não é preciso compilar codigo para a architectura ARM??
        Sei que o java não, mas…e o resto…li assim por alto e vi a integração das bibliotecas, o que me fez sentido, mas não vi o processo normal de um cross compilar tool chain…

        Atenção neste assunto do android sou “jogador de bancada”, ja andei a “curtir” noutras arquitecturas com crosscompilers, e pode ser um Horror configurar aquilo e compilar toda a cadeia de aplicativos para crosscompiling, não sei se é o caso aqui?

        Os meus Parabéns ao Miguel Almeida pelo Artigo e ao Pedro Pinto pela Publicação.

        cmps

        • lmx says:

          boas…
          acho que encontrei qualquer coisa 😀 no passo 6 e em diante penso eu…
          mas esta muito simplificado, com scripts a fazer muita coisa pelo que percebi…?!

          cmps

  2. PauloJCP says:

    Bom artigo!!

    Sendo curioso como sou ..é desta que o telemovel vai à viola 😉

  3. p. says:

    Bom artigo! Mas ao ler «i7 3610QM de 2.3 – 3.3Ghz, 12GB de RAM demora cerca de 1h», fiquei logo a pensar que o Core2 Duo T7200 com 2 GB de ram deve ir lá para as 8 horas…

    • Pedro Pinto says:

      eh eh eh, Não é propriamente rendering…mas é uma questão de experimentares e depois contares a tua aventura 🙂

    • Miguel Almeida says:

      Varia muito de máquina para máquina, mas é capaz de demorar cerca de 3h. 😀

    • Pedro Veloso says:

      Depois da primeira build as seguintes são feitas em meros minutos, uma vez que só têm em conta as partes que foram modificadas. Também é preciso ver que isto tem mais a ver com disco e RAM do que CPU na verdade, num core-2-duo compilo em menos de 1h mas tenho um SSD por debaixo e 8GB de RAM. Se compilar no TTY com DirectFB também acelera o processo porque a verbosidade de texto atrasa o processo 😉

  4. António says:

    O melhor artigo de todos os tempo!

    Repito: o MELHOR!

  5. Tiago André says:

    ai que o meu android ta quase a chegar 😛

  6. Tiago André says:

    Tens um erro no 4º passo
    diz cd ~/cm10.
    é cd ~/cm10.1

  7. ricardo mais says:

    Eu bem que gostava de tentar isto pa minha tablet, mas n tem suporte da comunidade, é uma growing gt712…
    pena—

  8. João Pedro says:

    Excelente artigo!

    Se eu soubesse onde podia encontrar os Proprietary Files para o meu companheiro (Huawei U8510), aventurava-me, pois já o tentei fazer, mas como não sei onde os encontrar, vai ter de ficar para uma próxima 🙁

  9. Rafael Tomás says:

    “…vamos preparar o código específico para um equipamento, Google/LG Nexus 4 que tem a “alcunha” de mako nos repositórios CyanogenMod.”

    Como saber a “alcunha” do meu equipamento…e outros, existe alguma lista? Eu tenho um TMN Smart A7 aka ZTE V875, e nao existem custom roms pra ele, estava interessado em aventurar-me, abradesso todas as sujestoes…

  10. José Fonseca says:

    xiiii…lá vou eu perder umas horas para tentar compilar a minha própria ROM

  11. Android says:

    Acho que este artigo está muito bom, agora deveriam fazer um segundo a explicar como personalizar as ROM’s como por exemplo mais básico como tirar e por aplicações que já vem na própria ROM, temas e essas coisas …

    • Miguel Almeida says:

      Android,

      Estás te a referir às stock ROMs das operadoras que vêem nos equipamentos?
      Se assim for em primeiro lugar terás que ter:
      root

      2º Poderás ligar o equipamento ao PC e por adb consegues remover as aplicações, ou então instalar uma aplicação que te permita aceder ao sistema de ficheiros (Root Explorer, por exemplo).

      3º As aplicações de sistema encontram-se na pasta app:

      /system/app/

      Aqui já as podes remover, mas cuidado com o que vais remover, pois são aplicações de sistema.

      Se te estavas a referir à personalização das ROMs antes da compilação, no que toca a temas, toques, imagens, da CM que são adicionadas, a maior parte do conteúdo encontra-se em:
      /vendor/cm/
      Explora esses ficheiros e retiras ou metes em comentário o que não desejas que seja adicionado à ROM.

  12. nome says:

    Bom artigo, disse que foi necessário 1h para compilar a rom, o disco usado foi um ssd?

  13. stuck says:

    Excelente artigo mesmo, acho que também me vou aventurar com note… um pequeno aparte… visto esta comunidade estar a abarrotar de pessoal culto, empreendedor e visionário… que tal a construção de uma costum rom android com o carimbo pplware? hein? uma ideia a ponderar não?

  14. Cláudio Esperança says:

    Parabéns pelo artigo Miguel… Quando tiver entediado tentarei replicar este tutorial para o meu Nexus 4.

    É engraçado verificar a dimensão do código-fonte e o tempo necessário para compilar e linkar cada um dos componentes que compõem um sistema deste género. Muitas vezes damos as coisas como adquiridas e reclamamos quando encontramos um ou outro bug, mas esquecemos da complexidade inerente a um projeto deste tipo com milhares de linhas de código e imensas particularidades. Depois de olharmos para o código fonte e assistirmos a um processo de compilação como este, é que ficamos com uma pequena ideia do pequeno milagre que é isto tudo funcionar.

    A primeira vez que tive este noção foi nos tempos em que utilizava o Gentoo, em que o OpenOffice demorava 12 horas a compilar no hardware que tinha na altura…

  15. André Silva says:

    A maneira mais fácil de adicionar/trocar repositórios é usar um local manifest, fazer checkout de cada um individualmente é bastante trabalhoso. Com um local_manifest configurado correctamente basta um repo sync e fica logo tudo perfeito 😛

    Eu utilizo o Mac OS 10.8.2 para compilar e é preciso alguns truques para conseguir montar o ambiente, se alguém estiver interressado posso fornecer uns links para alguns artigos.

  16. João Mendes says:

    Se quiser instalar o CyanogenMod 10.1 num Sony Xperia S desbloqueado por onde é que começo?

  17. Bernardo Miguel says:

    Boas, eu tenho um lg maximo pro mas e da tmn dá para faser o root e por um sistema mais avançado??

  18. Pedro says:

    um guide para desenvolvimento de drivers para android 4 é que era bom para estes lados 😡 quem conseguir algum site ou coisa parecida por favor que aposte aqui. brg. pref. desenvolvimento em java

  19. Artur Mendes says:

    Ora aqui está exactamente o que andava à procura!

    Caro Miguel Almeida permita-me a questão e se eu quiser juntar partes de AOKP?

    Fazer algo como uma rom Híbrida CM / AOKP?

  20. sideshow says:

    já ficava feliz que houvesse uma nightly build para o galaxy S duos…

  21. Bernardo Miguel says:

    Boas, eu tenho um lg maximo pro mas e da tmn dá para faser o root e por um sistema android mais avançado??

  22. Bernardo Miguel says:

    Aguem ME PODE AJUDAR eu tenho um lg C660 mas e da tmn dá para UM SISTEMA ANDROID MAIS AVANÇADO ??

  23. Manoel Anjos says:

    Ola, primeiramente gostaria de parabenizar pelo site e artigo, ambos perfeitos.
    Agora gostaria de saber se poderia me ajudar, como foi dito no artigo existe uma parte especifica para o dispositivo da LG, eu tenho um GAlaxy S Advance – GT-I9070, e gostaria de configurar um repositório não oficial para ele, neste caso o repositorio seria configurado.
    NO XDA tem um tópico de DEV da rom: http://forum.xda-developers.com/showthread.php?t=2108362 e no d-h.st
    http://d-h.st/users/diego-ch/?fld_id=9947#files
    no GIT HUB: https://github.com/diego-ch
    Bem quero configurar esses repos mas não consigo..
    Gostaria de ajuda obg

  24. Rherison Ribeiro says:

    Muito bom o seu post. Queria te pedir pra vc criar uma ROM cyanogenmod para RAZR d3 xt920 pois já fucei em tudo da web mas não existe nenhuma rom custom pra ele. Ajude aí cara. Não só eu mais uns 500mil usuários vão te agradecer

  25. Virgilio says:

    Recompilando o android e possivel, por exemplo, ao plugar o carregado o celular ligue? Normalmente ele mostra carregando. Preciso que ele ligue o aparelho.

  26. jonatas says:

    tenho um tablet e quero compilar uma versao cyano nele mas nao enconteri nenhuma disponivel preciso de ajuda para extrai oas arquivos dele com adb e etc sou muito noob me ajudem

  27. tom lochaider says:

    o código específico para um equipamento,esse caso como seria feito para um outro aparelho
    samsug,HTC ,e outros

  28. elison says:

    estou usando o ubuntu 14.04 e quando instalo g++-4.5-multilib, me apresenta um erro.
    E: Impossível encontrar o pacote g++-4.5-multilib
    E: Não foi possível encontrar o pacote através da expressão regular ‘g++-4.5-multilib’

    como corrigir isso???

    • Odair Carlos says:

      Olá, digite:
      gcc -v
      g++ -v

      Observe que versão irá aparecer… no meu caso:
      gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)

      Então substitua na linha de comando:
      …. gcc-4.5-multilib g++-4.5-multilib

      Por:
      …. gcc-4.8-multilib g++-4.8-multilib

      Observe que no meu caso a versão gcc e g++ era 4.8!!!!

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.