Olá pessoal
Hoje trago algo novo no mundo dos blogs pois nunca achei um tuto bem detalhado sobre isso
Vejo tanta gente perguntando sobre deodexar uma ROM e vou mostrar agora como fazer .
Importante: eu não vou explicar como instalar o Cygwin e configurar o Kitchen Aqui você poderá acessar o Thread do XDA e como fazer isso, então para seguir o tutorial você já deverá ter certa experiência em trabalhar com a plataforma , bem como saber se seu aparelho é suportado pelo Kitchen. No meu exemplo vou demonstrar para o Galaxy Win I8552 e este aparelho necessitou que eu efetuasse criação de suporte elaborando o Mount points em tools que é premissa do Kitchen.
Outro detalhe é que a plataforma Kitchen trabalha até a API 17 4.2.2
Bom vamos começar, as imagens são de boa resolução para ampliar clique na imagem
ETAPA 1 – Seleção do Firmware, Importação e Extração
Baixe no sammobile.com a sua rom stock e coloque em local fácil no PC
Abra o arquivo .tar com o winrar e extraia os arquivos copiando-os para a pasta original_updates que deverá estar na estrutura de seu diretório Kitchen. Que arquivo são estes?
Recovery.img, Boot.img, system.img.ext4, cache.img.ext4, hidden.img.ext4 e fat.bin
Agora que ja colocou estes arquivos isso na pasta, abra o Kitchen ferramenta “cygwin” clicando no botão direito do mouse selecionando “Executar como administrador”
No prompt do cygwin type(digite) cd kitchen e em seguida ./menu
Na linha de comando escolha “1” e depois escolha o numero correspondente onde tenha a relação de arquivos img
Siga as instruções descritas pelo kitchen realizando os procedimentos que ele for propondo. No incio aparecerá a escolha de um folder novo como sugestão de nome. Opte pelas opções default que ele indicar. A pasta criada conterá o nome Working_data_hora Siga os steps descritos no prompt como mostra a figura para importar o system
Abrirá automaticamente o aplicativo que tem um ícone do pinguin chamado Ext2Explore (este aplicativo faz parte do pacote cygwin instalado).
No Ext2Explore Vá no menu File / Open Image / browse no caminho da pasta indicada de seu projeto e dentro de /system selecione o arquivo.img que no meu caso foi o ext4_system.img
No termino poder aparecer uma tela extepxlore parou de funcionar, ignore e feche a pop up.
Agora vamos importar o Cache, você deverá instalar o DiskInternal Linux Reader antes de fazer isso
Siga os passos do prompt do cygwin para montar a Linux Native Volume 1
Para isso você deverá clicar em Drivers/mount no Linux Reader, achar o caminho do arquivo que ficará como a figura
Agora clique duas vezes em cima de Linux Native 1 e verá a pasta Recovery File Folder
Ao abrir encontrará o arquivo sec_csp.zip, clique com o botão direito do mouse e em seguida em save
Em seguida ao abrir a a janela clique NEXT
Agora desmarque a opção Save directory sctruture e em browser selecione o caminho que o cygwin prompt do Kitchen estará apontando como exemplo C:\cygwin\home\power\Kitchen\WORKING_xxx…xxx..\system
Pronto a pasta do seu projeto esta seleciona, Clique em NEXT e aguarde a finalização da exportação dos arquivos como mostram as figuras abaixo, clicando em finish quando terminar
Figura 1 – Next
Figura 2. Finished
Agora feche o Disknternal Linux Reader e retorne ao prompt e tecle enter
Siga os passos e tecle “y” para copiar os arquivos veja que ele te perguntará sobre levar arquivos/app do CSC
Ou tecle default “n” para pular isso , ATENÇÃO ele não levará estes add-ons para seu projeto
Agora a extração de seu Firmware e a criação de seu projeto esta terminando e poderá visualiza-lo no prompt
Pronto sua ROM foi extraída e importada para o KItchen, este é o status do seu projeto na opção 8 do Menu
ETAPA 2 – PERSONALIZAÇÃO
Adicionando o Root – Use a opção 2 para efetuar o Root no seu projeto seguindo os passos do Ktichen ele selecionará os caminhos e incluirá no Build o apk desta forma sua Rom será pré-Root
Escolha c “ minúscula” para selecionar o SuperSU
Addin busybox – Opção 3 do Menu, Tecle enter e siga os passos o Busybox prepara sua Custom ROM para receber Xposed dentre outros como Tweaks e performances
Zipalign – Opção 5, deixe seus apks mais leves e mais ágeis, isté faz parte de uma boa performance. Poderá fazer nesta opção ou no Build da ROM (compilação) caso deixe para o Final.
Fig.1-“y”
Fig.2- Start Zipalign
Fig.3 Process
Pronto…….. Agora tecle enter para continuar
Vamos Puxar um Status ate o momento….? volte no menu inicial do Kitchen e tecle a opção “8” Todas as modificações estarão com o status “YES”
ETAPA 3 – CUSTOMIZAÇÕES
Turbinando ….. A etapa a seguir é o mais importante deste Tutorial que é personalizar a ROM e daqui para a frente iniciaremos o modo avançado
DEODEXAR – O arquivo Odex trabalha numa espécie de motor de arranque do apk, ele serve para permitir que o aplicativo em si abra com melhor facilidade, mas muito são contrarias as opiniões pois quando deodexamos deixamos o cache livre, menor consumo de bateria e de memória RAM
No menu escolha a opção “0”, para acessar o ADVANCED OPTIONS
Aqui temos os comandos podemos extrair o recovery ou o boot de nosso celular, Init.d folder mas não vamos falar destes itens. E será aqui neste Menu que realizaremos depois o Build da Custom ROM ou seja a compilação do arquivo .zip para flash
Lembre se de alterar o nível do API (Level) ANTES para a versão do sistema da ROM no caso eu utilizei o API 16 para versão Jelly B 4.1.2
Opção 11 do Menu: De-odex files – Type “11” vamos deodexar ambos /framework e o /system/app em uma única vez
Escolha “b” para ambos os diretórios e arquivos (framework e system). Esta será a etapa mais demorada pois rodará todos os aplicativos e arquivos .jar da pasta de recursos framework. Ao inicar use “y” para a geração de logs de erro.
O resultado deverá ser zero 0 pendentes na tela do prompt verá o seguinte resultado:
0*.odex files remain in system/app
0*.odex files remain in system/framework,
Tecle enter para continuar
Nota: Caso não seja este o resultado, veja os logs de erro gerados no caminho indicado.
Opção 13 do Menu: Criando Data folder script (isto é opcional mas deve ser efetuado se sua ROM terá aplicativos no Data/app)
Opção 14 do Menu -Criando Init.d folder pra receber depois no futuro os tweaks, etc… (relembrando na etapa 2 nos fizemos a instalação do root e do busybox)
Opção 16 do Menu – Assinar os apks. Vamos agora deixar agora a ROM apta para o Flash e necessário assinar os apks selecione 16 seguido de “a” todos os folders.
Opção 17 do Menu – Esta opção é para converter o script-update para script-updater padrão zip. Selecione a opção “2” do prompt .
ETAPA 4 – BUILDING ROM (compilação)
BUILD ROM : Agora vamos montar o Flash isso significa que já deixamos todos os itens preparados
No ADVANCED OPTIONS escolha avançado type “99”
Agora selecione 1 “Interactive Mode” pois este modo ele fará as solicitações. Em seguida escolha “y” em zipalign ( relembrando se executou o zipalign da etapa 2 escolha “n”)
Siga os passos indicados pelo prompt no caso do Edify (Script-update) , Sign apk (Assinaturas) use sempre a opção “default” sugerida se não sabe o que estas opções fazem.
NOTA: Quando assinamos os aplicativos de sistema estamos configurando sua execução posterior e em conjunto. Eu optei por não assinar neste momento, isso porque irei utilizar outros apps externos ao pacote stock e remontar o build importando-o novamente (isto é outro procedimento que deixarei para outra oportunidade).
Fig. Montando Script, Adequando o Meta-inf setup
Fig. Making Update.zip
Continue sempre seguindo os steps dando “Y” e enter
Veja o resultado no prompt Kitchen que deverá conter:
– Errors during flashing
Pronto sua ROM esta compilada e o arquivo zip pronto para flash via CWM ou TWRP esta pasta /OUTPUT_ZIP
O arquivo zip deverá conter as seguintes pastas conforme imagem abaixo
Bom é isso ai Pessoal espero que tenha passado uma boa visão pra vocês
UniandroidMod Project
MJ Rosa
XDA-Developer Member : @mjraogr
My Works:
Droidwin ROM
Droidwin v67 Baidu OS
ANDROWIN WHITE – Original Theard 09.12.2014
ANDROWIN BLUE Theme- Link 10-15-2014
DROIDWIN V1 – Original Theard 11-05-2014
DROIDWIN V2 4Shared: DroidWin Kitkat 11-28-2014
DROIDWIN V3 – Holo Blue version Android L: Thread
DROIDWIN V3.1 LIGHT LOLLIPOP THEME – Thread
Legal o post, é isso que estou procurando. Meu smart não tem custom rom. Pode me dizer como faço para trocar os apks da operadora por outros, em qual etapa faço isso? Estou procurando outros tutos mas está dificíl. Outra coisa, como uso Linux, não me apareceu as etapas: Ext2Explore e DiskInternal Linux Reader, mas acho que é isso mesmo. Obrigado pela atenção e parabéns pelo post.
Obrigado Edu Paz
Vá até o forum XDA-developers.com. La tem uma caixa de texto onde pode descrever o modelo de seu aparelho e verificar as possibildades para ele.
Tambem pode verificar a plataforma ( arquivos.jar) que utiliza como ferramentas para roms
quanto aos apks se conseguir fazer root no seu aparelho tera acesso ao sistema. Estes apps ficam em system/app porem na maioria das roms ele possui o arquivo .odex
exemplo: contatos.apk e contatos.odex
olá cara blz? não sei se você está desenvolvendo no blog ainda, mas queria tirar uma duvida. estou com uma rom , no caso cm 12.1 para o galaxy j5 e ela tem bugs no microfone e no reconhecimento de sinal no chip, queria saber se existe um arquico para colocar nesta rom para estar arrumando?
Lucas, isso é problema de RIL , um item importante de source para acesso ao hardware do aparelho. Somente sendo fixado o bug na construção resolverá essa questão.
Ótimo post parabéns, me ajudou bastante!
Obrigado
Eu estou buscando tutoriais para aprender a criar/modificar rom, o meu interesse é em aprender a partir do Marshmallow inclusive, pois nesta versão do Android o Google incluiu uma opção que considero das mais úteis que é a possibilidade de juntarmos o cartão de memoria (Classe 10) à memoria interna dos aparelhos, dando assim uma sobre-vida aos mesmos, mas todos os tutos que encontro ensinam no máximo até o Lollipop, assim como o Kitchen só dá suporte até o 4.2.2, a minha pergunta:, onde vou encontrar tuto para aprender sobre o Marshmallow e posterior?, voce pode me ajudar, me indicando o caminho a seguir, programar a utilizar, para iniciar meu aprendizado gostaria de criar/modificar uma rom Marshmallow para um aparelho da Samsung Galaxy SM-J200M, encontrei rom para variantes desse modelo, que tentei instalar mas como era de se esperar não funcionou nele. Quem por favor puder ler e me ajudar desde já fico muito agradecido.
Olá João Marcos. Sim o kitchen foi descontinuado pelo desenvolvedor e parou na API 16. Você conhece o XDA Developers, lá poderá verificar versões mais atuais. Mas não se se já suportam Android 5.0 em diante. Hoje o que mas ocorre é o desenvolvimento do build através do patchrom do Android puro, ou Miui dentre outros diretamente no Linux
Boa noite! Li todo o post e achei muito show… você poderia me informar o que tenho que estudar (curso, LP) para deodexar/portar o android para qualquer tipo de aparelho? Ou se você poderia me indicar algum curso referente?
Olá Rodrigo. Obrigado. Desculpe o tempo ausente aqui no blog. Então o XDA developers tem muitos tutoriais bons pra deodexar. Sobre cursos acho bacana estudar Linux que é a base do Android e código livre e também indico o livro de Android do Ricardo Lechetta.
MJ