Saltar para conteúdo


Foto
- - - - -

[Tutorial] Para Geek's aventureiros


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

#1 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 21 October 2012 - 11:44

Está na hora de se abrir a caixa dos segredos e democratizar-mos um pouco o conhecimento.

Este post irá crescer lentamente, em função da minha disponibilidade e paciência e igualmente em função das vossas perguntas e interesse

Como eu não sei muito destes assuntos, embora saiba mais que os estão agora a começar, é provável que cometa erros, escreva coisas menos certas. Conto convosco e com o vosso espírito critico, para irmos afinando os ensinamentos.

Este tópico é para aprendermos todos um pouco mais, mas não é para noobies. Todos têm o direito de aprender, mas também têm o dever de praticar e treinar até saber. Nada substitui a pratica. Aqui não se vai ensinar tudo. Se os termos usados forem estranhos, isso significa que ainda é cedo para se meterem nestas coisas.

Espero aprender bastante, quer com as vossas perguntas, quer com as vossas respostas, pois muitos de vós, terão algo para nos ensinar a todos. Para isto existem os fóruns.



Regra numero 1
Não se faz nada no telefone sem antes termos um backup nandroid

Regra numero 2
O telefone é resistente mas não é à prova de tudo. Podem destruir o telefone com estas brincadeiras O único responsável por alguma coisa que aconteça aos vossos telefones são vocês.

Os ensinamentos abaixo, deverão ser feitos num pc com sistema operativo Windows. Tudo isto pode ser feito em Linux e provavelmente é mais facil e mais rapido. Para já, essa parte do conhecimento está fora do âmbito deste Tutorial


O que vamos tratar aqui:

1 Obtenção da pasta system no nosso Pc
2 Como fazer o deodex da rom para poder manipular as apk's
3 Como Descompilar uma APK
4 como compilar uma apk modificada
5 como fazer o Re odex de um ficheiro
6 como flashar o ficheiro modificado
7 Como alterar uma apk
7.1Como saber as alterações que foram feitas num mod de terceiros
7.2 alterar apenas imagens
7.3 alterações básicas
7.4 alterações complexas



1º Passo (Obtenção da pasta system no nosso Pc)

A primeira coisa a fazermos é descarregar a rom que queremos mexer. Este local é tão bom como outro qualquer. Mas tem uma qualidade, é de confiança:
http://www.sammobile...irmware/?page=3


Estas rom's vêm dentro de um zip para tornar o download mais rápido. Para serem usadas no Odin, é necessário extrai o ficheiro que está dentro do zip. esse ficheiro, que é o firmaware, tem a terminação .tar.md5

Com o winrar (ou outro compressor/descompressor) editamos esse ficheiro e extraímos o ficheiro system.img. Esta é a pasta system do nosso telefone com todo o seu conteúdo. Lamentavelmente não a podemos abrir directamente.

Neste ponto criamos uma pasta no nosso pc, por exemplo c:/lab e colocamos lá dentro este ficheiro

sgs2toext4.jar (By drphrozen)

Abrimos uma janela DOS (CMD) e aqui escrevemos:

c:\lab
sgs2toext4.jar

Teremos uma janela assim:Imagem colocada


Arrastamos a imagem system.img para dentro da janela acima e esperamos que fique terminada uma outra imagem de nome: system.ext4.img

Para abrir esta imagem e finalmente ter acesso ao seu conteúdo, usamos o programa Diskinternals Linux Reader

depois de instalado: Drives > Mount Image > Raw Disk Images > Next > aqui seleciona-se a imagem system.ext4.img Abrimos essa "drive" > select all > botão direito do rato > save

e finalmente temos a pasta system da nossa rom para podermos bisbilhotar à nossa vontade.

Este primeiro passo é fundamental para podermos dar um primeiro olhar na nova rom, consultar o build.prop etc. É o primeiro contacto


2º Passo Como fazer o deodex da rom para poder manipular as apk's

Uma aplicação android tem 2 componentes principais, o código java e os resources.

As rom's da Samsung, tal como são distribuídas, são Odexed. Quer isto dizer que o código java, não está dentro das apk's. O código java de cada aplicação, é um ficheiro de nome igual à apk mas com terminação .odex.

Capture32.jpg
apk de uma rom odexed abaixo
Capture33.jpg

Numa rom deodexed o código java está num ficheiro de nome classes.dex que é colocado dentro da apk. Isto pode ser confirmado com o winrar editando uma apk.
apk de uma rom deodexed abaixo
Capture34.jpg

O ficheiro apk contém sempre os resources, quer a rom seja Odexed ou deodexed. Dos resources fazem parte as imagens que integram a apk.

No formato Odexed não se pode editar uma apk para a modificar. Para se poder alterar uma apk, implica primeiro fazer o deodex e de seguida há que descompilar. Só então se podem fazer as alterações. A excepção a isto, são as imagens das aplicações que se podem mudar directamente na apk (no caso do s3 na pasta /res/drawable-xhdpi) para se poder alterar o aspecto de uma aplicação e até da rom. Um tema pode ser feito alterando apenas algumas imagens sem ter que fazer o deodex ou descompilar as aplicações

Pelas razões apontadas acima, é necessário fazer o deodex de uma rom para se poder alterar o codigo java ou os resources.

2.1 Download de uma rom deodex
Esta é uma forma expedita de termos os ficheiros deodex para podermos manipular, Neste caso devemos escolher uma rom que não tenha tido praticamente nenhuma intervenção. Uma rom interessante para esta opção é esta:
http://forum.xda-dev...d.php?t=1704185

2.2 Fazermos o deodex da nossa propria rom.
Existem varias hipóteses para esta opção.

2.2.1 script amestris:
http://forum.xda-dev...d.php?t=1799589

2.2.2 Kitchen DSIXDA
Este é O PROCESSO. É complexo de instalar mas simples de usar. Está um pouco fora do âmbito deste Tutorial mas talvez venha a dedicar algum tempo a este assunto. Para já têm aqui um excelente tutorial para linux, e talvez eu no final faça uma para windows. Ainda têm o post original:
http://forum.xda-dev...ad.php?t=633246


3º Passo (Como Descompilar uma APK)

Mais uma vez existem diversas formas de completarmos este passo. Aqui vamos abordar o mais simples, que é atravé da aplicação APK MAnager. Começamos por fazer o download da versão que está no hiperlink e descomprimos o seu contudo para uma pasta do nosso pc.


Colocamos a aplicação que queremos descompilar na pasta "place-apk-here-for-modding"
Capture36.JPG



Duplo clique em Script.bat e temos esta janela:

Imagem colocada


começamos por escolher a opção 22 para escolher a aplicação a descompilar
opção 9 para descompilar

Quando tivermos a aplicação descompilada ela estará na pasta "projects", numa pasta com o nome da aplicação


É agora que podemos alterar à nossa vontade o código java que está na pasta smali e os resources que estão na pasta "res". Não deveremos tocar no ficheiro AndroidManifest.xml, uma vez que alterações neste ficheiro implicam que uma outra forma de hack, mais complexa, uma vez que toda a framework e todas as apk's da rom, deverão posteriormente ser assinadas com a mesma chave.


4º Passo (Como compilar uma apk modificada)

Num primeiro olhar, para compilar uma aplicação depois de modificada, deveria ser apenas escolher a opção 11. No entanto não é assim tão simples.
Começamos por escolher a opção 11. Irá aparecer na janela da APK Manager uma pergunta:

Q: "Is this a system Apk (Y/N)"
A resposta é Yes

Aparecerá uma segunda pergunta:

Aside from the signatures, would you like to copy over any additional files that you didn't modify from the original apk in order to ensure least # of errors (Y/N)
A resposta é Yes

Agora aparece um texto que termina em "press any key to continue"

Antes de continuarmos e de acordo com o texto anterior, deveremos fazer o seguinte:
Na pasta onde temos a aplicação Apk Manager apareceu uma nova pasta "keep"
Capture37.JPG

Abrimos a pasta keep e apagamos todos os ficheiro que alterámos:

Capture38.JPG

Se fizémos alterações de codigo java (em smali) apagamos o ficheiro "classes.dex"

se fizemos alterações em "res" abrimos a pasta /Apk_Manager_ICS/keep/res:

Se a pasta onde fizemos alterações está visivel, abrimo-la e apagamos os ficheiros alterados.

Se a pasta onde fizemos alterações não estiver visivel, voltamos para /Apk_Manager_ICS/keep
e apagamos o ficheiro "resources.arsc"

Agora podemos voltar ao Menu da Apk Manager e "press any key to continue"

Em "place-apk-here-for-modding" temos agora uma nova aplicação com o nome de unsigned_nossa_aplicação.apk

Fazemos um rename, apagando o unsigned e está pronta a flashar. Terminámos o nosso mod




5º Passo (como fazer o Re-odex de um ficheiro)


5.1 Re-Odex de um aplicação

Para esta fase necessitamos de ter um ficheiro de nome dexopt-wrapper no telefone. Faz-se o download do dito e coloca-se na pasta system/bin do telefone com explorador root

Necessitamos igualmente de ter a aplicação que queremos fazer o Re-Odex em formato deodex, na pasta system/framework do telefone

Agora através de um terminal no telefone ou do adb no pc.


Se têm o adb no vosso computador saltem este ponto. Se não têm, façam o download no hyper link acima, ponham na pasta c:\lab.

Devem ter o telefone com a Depuração USB activa activo (em definições > Opções de programador depuração de USB).

Ligam o telefone ao pc por usb, com o telefone ligado.

executam o seguinte código numa janela DOS(O exemplo abaixo é para fazer através do Adb. Apenas para exemplo, vamos admitir que queremos fazer o Re-Odex da aplicação secmms.apk

cd c:\lab\adb
adb shell
su
dexopt-wrapper /system/framework/SecMms.apk /sdcard/new.odex /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar

Com o comando acima obtemos no sdcard do telefone o ficheiro secmms.odex. Devemos apagar agora a o ficheiro secmms.apk que colocámos em system/framework para não ficar esquecido.

Podemos agora fazer um zip para flashar com as duas partes da aplicação secmms. Uma é a secmms.odex que obtivemos agora, a outra é a secmms.apk deodexed, que colocámos na framework do telefone para fazer o Re-Odex.

A parte secmms.apk ainda não está terminada, pois como é uma apk deodexed, contem o ficheiro classes.dex, que temos que apagar.
Para este efeito, abrimos a aplicação deodexed secmms.apk no pc, e com o winrar editamos a aplicação e apagamos o ficheiro classes.odex. Não tem nenhum problema, uma vez que foi a partir deste classes.dex que foi feito o ficheiro secmms.odex.

E terminámos. Temos o secmms.odex e no parágrafo anterior obtivemos o secmms.apk que necessitamos para uma rom Odexed.

Fica claro que o Re-Odex é feito em função da framework do telefone e como tal é válido apenas para essa rom. Provavelmente não funcionará noutra rom.


5.2 RE-Odex de um ficheiro da framework

Este passo, do Re-odex, pode ter uma complicação adicional, se for um ficheiro da framework, pois nesse caso é necessário copiar a assinatura do ficheiro activo na framework, para o novo ficheiro modificado.

Vamos admitir que o ficheiro que estivemos a modificar é o android.policy.jar, e que temos este ficheiro em formato deodexed.

fazemos um rename ao ficheiro, para new.jar (por exemplo, para o podermos colocar em system/framework do telefone)

numa janela Dos executamos o seguinte comando:

cd c:\lab\adb
adb shell
su
dexopt-wrapper /system/framework/new.jar /system/framework/new.odex /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar

agora temos o ficheiro Odexed na pasta da framework com o nome new.odex

Para continuarmos necessitamos ter a busybox instalada no telefone.

para copiar a assinatura de android.policy.odex para o novo new.odex executamos o seguinte código, partindo do principio que não fechámos o adb)

chmod 777 /system/framework/new.odex
chmod 777 /system/framework/new.jar
busybox dd if=/system/framework/android.policy.odex of=/system/framework/new.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

Agora temos o ficheiro new.jar pronto a flashar. Copiamos para o pc, fazemos o rename para android.policy.jar, e apagamos os dois ficheiros new.odex e new.jar que temos na framework do telefone e que já não necessitamos.

Basta fazer o zip e flashar


6º Passo (como flashar o ficheiro modificado)

Um zip para flashar tem duas componentes. O script e a pasta onde se põem os ficheiros respectivos.

Se abrirem com o winrar um zip genérico ele terá este aspecto:
Capture31.JPG

Ficam com um exemplo já feito, completamente vazio, mas que podem preencher consoante as vossas necessidades:
http://www.mediafire...byp2ebzzm6dg263

O exemplo acima é bastante versátil pois permite instalar ficheiros em diversas localizações e o script está preparado para todas. O referido script está em meta-inf/com/google/android/updater-script e tem o seguinte aspecto:

show_progress(0.500000, 0);
ui_print("");
ui_print("mount system...");
mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system");
ui_print("copy files...");
package_extract_dir("system", "/system");
ui_print("set permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system/app");
set_perm_recursive(0, 0, 0755, 0644, "/system/framework");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm_recursive(0, 0, 0755, 0755, "/system/etc/init.d");
set_perm_recursive(0, 0, 0755, 0644, "/system/lib");
set_perm_recursive(0, 0, 0755, 0644, "/system/media");
set_perm_recursive(0, 0, 0755, 0644, "/system/csc");
ui_print("unmount system...");
unmount("/system");
ui_print("");
ui_print("done, please reboot...");
ui_print("");

Têm sempre que ter o mount da partição que querem
a cópia dos ficheiros
e a atribuição das respectivas permissões.
terminam com unmount das partições.

Os ficheiros que querem flashar, colocam em /system na pasta respectiva

Podem adaptar os scripts aos vossos zip's em particular, ou podem usar este


7º Passo (Como alterar uma apk)

7.1Como saber as alterações que foram feitas num mod de terceiros


Continua..

Editado por sapec, 30 October 2012 - 10:44.

  • Flamarro, Nuno Ribeiro, jorge teixeira e 6 outros gostam disto

#2 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 21 October 2012 - 11:50

O post acima está agora na versão 2.0. Foi modificada a abordagem e penso que agora esteja mais simples.

Falta terminar o ultimo ponto, que é por sinal a parte mais interessante.

Editado por sapec, 23 October 2012 - 12:24.


#3 TugaPower

TugaPower

    Born in the Wild

  • Moderadores Globais
  • 6642 mensagens
  • LocalizaçãoMarseille, France
  • Samsung S6 Edge, OnePlus One, OnePlus 5

Mensagem publicada 21 October 2012 - 11:50

Esta a ficar cada vez melhor.... Excelente iniciativa @Sapec.
Abraço

Usem o "Gosto" nos posts para agradecer a quem vos ajuda.


#4 Pardinha

Pardinha

    Mestre de Android

  • Moderadores Globais
  • 4468 mensagens
  • LocalizaçãoAveiro
  • Samsung Galaxy S8+ Nvidia Shield K1 Nexus Player

Mensagem publicada 21 October 2012 - 13:51

Muito bom, acho que o Sapec é o meu Android Guru. Continua o bom trabalho.
  • TugaPower gosta disto

Queres ajuda? Clica aqui


#5 jmcdpereira

jmcdpereira

    Mestre de Android

  • Moderadores Globais
  • 9300 mensagens
  • LocalizaçãoAlentejo
  • Oneplus 2

Mensagem publicada 21 October 2012 - 13:54

TugaPower... tás feito...
Vou acabar a minha ROM antes da tua ;)

Parabéns pela iniciativa Sapec,
Vou acompanhar para aprender ;)

jmcdpereira
  • TugaPower gosta disto

y0gATWN.jpg
OnePlus 2

"Lavar a cabeça a burros é perder tempo e gastar sabão"


#6 TugaPower

TugaPower

    Born in the Wild

  • Moderadores Globais
  • 6642 mensagens
  • LocalizaçãoMarseille, France
  • Samsung S6 Edge, OnePlus One, OnePlus 5

Mensagem publicada 21 October 2012 - 14:19

TugaPower... tás feito...
Vou acabar a minha ROM antes da tua ;)

Parabéns pela iniciativa Sapec,
Vou acompanhar para aprender ;)

jmcdpereira


Força, dou te os parabens e sou pessoa para a experimentar ;)
  • jmcdpereira gosta disto

Usem o "Gosto" nos posts para agradecer a quem vos ajuda.


#7 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 21 October 2012 - 16:27

TugaPower... tás feito...
Vou acabar a minha ROM antes da tua ;)

Parabéns pela iniciativa Sapec,
Vou acompanhar para aprender ;)

jmcdpereira


A ideia é exactamente promover este tipo de atitude. Se conhecermos os processo básicos, podemos experimentar, evoluir-mos todos e não estarmos dependentes de ninguém para fazermos as pequenas coisas que queremos/necessitamos.

Se na próxima rom que sair, alguém fizer as modificações e as partilhar, deixam de estarem dependentes que eu ou outro, as faça. É esse o objectivo. Para além de que quanto mais soubermos, melhor ajudamos.
  • TugaPower, jmcdpereira e Pardinha gosta disto

#8 Pardinha

Pardinha

    Mestre de Android

  • Moderadores Globais
  • 4468 mensagens
  • LocalizaçãoAveiro
  • Samsung Galaxy S8+ Nvidia Shield K1 Nexus Player

Mensagem publicada 21 October 2012 - 16:42

É isso mesmo. Mais uma vez parabéns por seres assim. Abraço.

Queres ajuda? Clica aqui


#9 DjPalix

DjPalix

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 2228 mensagens
  • LocalizaçãoOdivelas

Mensagem publicada 21 October 2012 - 17:32

Vou ler com extrema atenção.

Sent from my GT-I9300

Editado por DjPalix, 21 October 2012 - 23:18.

  • TugaPower gosta disto

#10 Meia

Meia

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1600 mensagens
  • Nexus 5

Mensagem publicada 22 October 2012 - 13:31

Sapec, em primeiro lugar os meus parabéns pelo excelente trabalho! Ainda não tive oportunidade de ler com calma ate ao fim mas irei de certeza ler tudo direitinho :)

Resta-me dizer que se precisares de limpeza, reporta a vontade aquilo que achas que deve ser eliminado que vai depender de como queres ver este tópico.
  • TugaPower gosta disto
Back to the game

#11 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 22 October 2012 - 14:06

Isto ainda vai demorar uns dias a terminar, mas também ninguém tem pressa.

Sobre as "limpezas", eu não sou muito pela "Ordem". Então acho que não se deve apagar nada. Cada um escreve o que acha bem, e é assim que fica. Acho que o post deve estar como está, aberto a todos os comentários.
  • Meia, TugaPower e jmcdpereira gosta disto

#12 TugaPower

TugaPower

    Born in the Wild

  • Moderadores Globais
  • 6642 mensagens
  • LocalizaçãoMarseille, France
  • Samsung S6 Edge, OnePlus One, OnePlus 5

Mensagem publicada 22 October 2012 - 22:31

Sem querer ser chato mas nao achas mais pratico usar o dsixda kitchen para a parte da ROM ?

Tenho aqui um TUTU feito para linux mas pode se sempre adaptar para windows, a dsixda kitchen a partir da versao 0.204 ja suporta o i9300 international...
Mas fica ao teu criterio.

Abraço

Editado por TugaPower, 22 October 2012 - 22:32.

  • sapec gosta disto

Usem o "Gosto" nos posts para agradecer a quem vos ajuda.


#13 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 22 October 2012 - 22:48

Sem querer ser chato mas nao achas mais pratico usar o dsixda kitchen para a parte da ROM ?

Tenho aqui um TUTU feito para linux mas pode se sempre adaptar para windows, a dsixda kitchen a partir da versao 0.204 ja suporta o i9300 international...
Mas fica ao teu criterio.

Abraço


Eu vou mudar completamente o tutorial, e foi por isso que parei com a escrita. Em vez de usar o smali/backsmali para descompilar vou basear tudo na Apk Manager retocada pelo Wanam. É mais simples e muito mais fácil para noobies. O processo descrito acima é complexo e mais sujeito a erros. Até eu tenho dificuldade e hoje percebi isso muito claramente.

A unica coisa que me estava a faltar e por isso estava parado era como obter os ficheiros deodex. Isto porque acho o processo de instalação da cozinha também pesado para noobies. Mas estava a inclinar-me para adoptar essa solução.

A tua proposta caiu que nem ginjas. Está mais que aceite. Assim tenho tudo solucionado:

Dsixda para o deodex > apktools para descompilar compilar > Win Merge para a bisbilhotice. E publico os mod's que estou a usar.

Só vou ter que resolver a parte do tutorial para a Dsixda, pois a instalação daquilo é um pincel.

Editado por sapec, 22 October 2012 - 22:49.

  • jorge teixeira e TugaPower gosta disto

#14 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

  • Administradores
  • 3699 mensagens
  • LocalizaçãoMaia, Porto
  • Samsung Galaxy S9+ (SM-G965F/DS)

Mensagem publicada 07 November 2012 - 21:02

Sapec, não consigo decompilar uma aplicação
"An Error Occurred, Please Check The log (Option 21)"


PRESSIONA  ✔ GOSTO SE TE AJUDEI 

PRESS  ✔ LIKE THIS IF I HELPED YOU

Segue-nos também no Facebook e Google+

Consulta e respeita as regras do fórum


#15 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 07 November 2012 - 21:19

Sapec, não consigo decompilar uma aplicação
"An Error Occurred, Please Check The log (Option 21)"


Diz qual é a aplicação e de que rom é (suponho que seja da DLJ4)

A ver se amanhã acabo isto este tópico, pois agora já não ando a fazer nada no kernel, e fico com algum tempo livre.

#16 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

  • Administradores
  • 3699 mensagens
  • LocalizaçãoMaia, Porto
  • Samsung Galaxy S9+ (SM-G965F/DS)

Mensagem publicada 07 November 2012 - 21:21

A rom é a DJL4. Sobre a aplicação, estava a experimentar uma à sorte.Tentei AccuweatherWidget.apk


PRESSIONA  ✔ GOSTO SE TE AJUDEI 

PRESS  ✔ LIKE THIS IF I HELPED YOU

Segue-nos também no Facebook e Google+

Consulta e respeita as regras do fórum


#17 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 07 November 2012 - 21:38

Tentei agora para ver se era alguma aplicação que exigia algum truque, mas descompilou à primeira. tenta ver no log se tens alguma informação.

Algumas aplicações de sistema, precisam ser descompiladas com dependências acho que não abordei ainda essa opção no tutorial. Quer isto dizer, que a instrução para descompilar é a opção 10 e não a 9. E é preciso saber qual é a aplicação de que é dependente a aplicação em causa.

No caso que referes não há dependências e a aplicação descompila normalmente.

Se queres, tunar essa aplicação dá uma vista de olhos neste post:
http://www.htcmania....ad.php?t=443292

No caso, pelo que me pareceu, só foram mudadas imagens, logo não é necessário descompilar nada. Basta o winrar
  • Nuno Ribeiro gosta disto

#18 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

  • Administradores
  • 3699 mensagens
  • LocalizaçãoMaia, Porto
  • Samsung Galaxy S9+ (SM-G965F/DS)

Mensagem publicada 08 November 2012 - 16:10

Sapec, só agora vi o teu post...
Entretanto já consegui resolver. Instalei a nova versão (APK Multi-Tool) onde tem um Setup.bat onde podes "instalar" as pastas e os frameworks.
Depois tive que corrigir o java. Como tenho o oracle instalado (uso um portátil de trabalho), esta trabalha com a build 1.3.1_01. Mesmo depois de instalar o JRE mais recente, mesmo assim dava o erro porque o script ia sempre pelo java version "1.3.1_01"

--------------------------------------------------------------------------
java version "1.3.1_01"
Java™ 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot™ Client VM (build 1.3.1_01, mixed mode)
java.lang.UnsupportedClassVersionerror: brut/apktool/Main (Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main" ---------------------------------------------------

A solução: ir à pasta path do sistema e coloquei o caminho da basta bin do JRE 1.7 antes da outra (build 1.3.1_01)
E assim resultou.

--------------------------------------------------------------------------
java version "1.7.0_09"
Java™ SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot™ Client VM (build 23.5-b02, mixed mode, sharing)
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\nfribeir\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
--------------------------------------------------------------------------

Podias era actualizar o teu excelente manual para esta APK Multi-Tool

Imagem colocada


PRESSIONA  ✔ GOSTO SE TE AJUDEI 

PRESS  ✔ LIKE THIS IF I HELPED YOU

Segue-nos também no Facebook e Google+

Consulta e respeita as regras do fórum


#19 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 08 November 2012 - 16:18

Antes de mais, parabéns pela solução e ainda bem que resolveste.

Se continuares a usar a APK Multitool , vais ter algumas desagradáveis surpresas a descompilar aplicações ICS. Essa é a razão porque uso e aconselho a APK tool que está no link acima. Na realidade não é a APKTool normal, mas sim uma versão modificada pelo Wanam para funcionar em ICS e que até agora funcionou maravilhosamente em Jelly Bean igualmente. Se algum dia tiveres problemas nalguma aplicação, tenta com esta APK. Pode ser que te resolva o problema.

Com rom nova, ainda não é hoje que acabo este topico

#20 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

  • Administradores
  • 3699 mensagens
  • LocalizaçãoMaia, Porto
  • Samsung Galaxy S9+ (SM-G965F/DS)

Mensagem publicada 08 November 2012 - 16:24

Obrigado pelo conselho e pela ajuda. Eu tenho as duas pastas e agora ambas funcionam.
Estou a ir aos poucos porque tenho pouco tempo disponível.
  • sapec gosta disto


PRESSIONA  ✔ GOSTO SE TE AJUDEI 

PRESS  ✔ LIKE THIS IF I HELPED YOU

Segue-nos também no Facebook e Google+

Consulta e respeita as regras do fórum


#21 TugaPower

TugaPower

    Born in the Wild

  • Moderadores Globais
  • 6642 mensagens
  • LocalizaçãoMarseille, France
  • Samsung S6 Edge, OnePlus One, OnePlus 5

Mensagem publicada 08 November 2012 - 18:42

Como ja tinha falado em tempos com o @Sapec nao sei se ele experimentou, mas continuo a dizer que o Tickle My Android e dos melhores por ai, mesmo em JB e ICS é sempre a rolar... Apenas aconselho a trocar o aapt que bem com o Tickle My Android pelo modificado do Chainfire chamado fast aapt, ficheiro este encontra se em TickleMyAndroid\tool_files, com este aapt modificado irao notar tempos de compilaçao abismais em relaçao ao normal aapt ;)

Usem o "Gosto" nos posts para agradecer a quem vos ajuda.


#22 AdrianoFrança

AdrianoFrança

    Fã de Android

  • Membros
  • PipPipPip
  • 304 mensagens
  • LocalizaçãoPorto
  • Samsung Galaxy S3

Mensagem publicada 23 November 2012 - 15:22

Este tutorial aqui apresentado têm como finalidade ensinar a fazer alterações a firmware , e se for para editar um tema o processo é semelhante ?

Eu estou a fazer uns ícones para acrescentar a um tema para o go launcher, o problema é que para os aplicar tenho de fazer um a um sendo que esta alteração só se aplica aos ícones do ambiente de trabalho e o que eu pretendia era colocar também no menu. Existe alguma forma de fazer esta operação sem ter de descomplilar o apk e acrescentar as imagens à pasta res ?

Obrigado pela atenção

#23 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 23 November 2012 - 18:13

Não precisas descompilar para colocar ícones diferentes em /res. Podes editar a apk com o winrar (ou equivalente) e colocar lá as novas imagens.

Para mudar o icone de uma aplicação. terás que mudar o ícone na própria aplicação

#24 AdrianoFrança

AdrianoFrança

    Fã de Android

  • Membros
  • PipPipPip
  • 304 mensagens
  • LocalizaçãoPorto
  • Samsung Galaxy S3

Mensagem publicada 23 November 2012 - 18:24

Não precisas descompilar para colocar ícones diferentes em /res. Podes editar a apk com o winrar (ou equivalente) e colocar lá as novas imagens.

Para mudar o icone de uma aplicação. terás que mudar o ícone na própria aplicação


Então, se eu for ao directório do programa e colicar o novo ícone ele aktera em tudo ?

A minha intenção é adicionar mais icones ao tema, e para isso tentei acrescentar mais icones no apk mas quando fui instalar deu erro.

Vou tentar novamente.

Obrigado pela resposta

#25 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 23 November 2012 - 18:26

Não sei se te estou a perceber, a ideia não é acrescentar ícones, é alterar os que lá estão, certo?

Os icones têm que ser em formato png e terão que ter o mesmo nome e tamanho. Aconselho-te a editar os ícones originais com o photoshop

Editado por sapec, 23 November 2012 - 18:28.

  • TugaPower gosta disto