Como surgem os arquivos .odex?

795 views
Skip to first unread message

Fábio Emilio Costa

unread,
Aug 1, 2012, 1:25:45 PM8/1/12
to androi...@googlegroups.com
Parece uma dúvida de noob, mas queria entender isso... Como o sistema define qual programa será ODEXed e qual não? Tipo: eu converto uma app para app de sistema e tal... Como é que eu sei qual app pode ser odexed.

--

Obrigado!

Fabio Emilio Costa                 São Bernardo do Campo - SP - Brazil
fabioco...@gmail.com            Linux User #416439(counter.li.org)
MSN: fabioco...@gmail.com                          ICQ #:173799674
Yahoo! Messenger:hufflepuff0305                  Twitter:@HufflepuffBR

Orkut Profile: www.orkut.com/Profile.aspx?uid=16619557238254357700
Blog: hogwartslinux.wordpress.com
"Copie. Seja Legal. Não seja trouxa! Use Software Livre!"

Guilherme Zalochi

unread,
Aug 1, 2012, 1:35:21 PM8/1/12
to androi...@googlegroups.com
odex é o default e deodex é o modificado
em tese todos os apps podem ser modificados, porem essas modificações são apenas visuais, e nao afetam os apps

ex: barra de status de cor diferente

2012/8/1 Fábio Emilio Costa <fabioco...@gmail.com>

Marcos Viana

unread,
Aug 1, 2012, 11:01:52 PM8/1/12
to androi...@googlegroups.com

(Um comentario newbie)
O odex é uma parte do app, tipo uma dll.
Uma parte do codigo que foi extraida pra dificultar a cópia eu acho, pq nem todo sistema tem app odexed.
Reparei que alguns app com odex nao informam que há atualizações.
Alguém pra dar mais info?

Marcos Viana
***enviado de um aparelho móvel, favor desconsiderar eventuais erros ortográficos***

ducasp

unread,
Aug 2, 2012, 6:24:31 AM8/2/12
to androi...@googlegroups.com
O odex é só para acelerar a execução, se não tiver o odex, ele gera um arquivo similar no cache... Não tem a ver com proteção de cópia nem com ser DLL... O fato de ser ODEX impede que você edite os APKs odexados, pois o odex não vai bater com o APK, você teria que re-gerar o odex do novo apk e substituir junto, ou, o que a maioria faz, usa uma rom sem arquivos ODEX para poder editar a vontade os apks e recursos de sistema.

Marcos Viana

unread,
Aug 2, 2012, 8:07:52 AM8/2/12
to androi...@googlegroups.com

Ducasp,
O odex mais o apk(odexed) tem o tamanho aproximado do apk(deodexed) e removendo o odex o app para de funcionar, nao cria nada no cache. Por isso achei que fosse parte do codigo... O que é grerado no cache é dalvik, esse sim serve pra "acelerar" o sistema.
E como voce disse, se alterar o apk sem alterar o odex ele nao funciona, logo é um tipo de segurança, certo?

Marcos Viana
***enviado de um aparelho móvel, favor desconsiderar eventuais erros ortográficos***

Guilherme Zalochi

unread,
Aug 2, 2012, 8:20:35 AM8/2/12
to androi...@googlegroups.com
o odex é o data importante do apk, isso é para performance,ao invez de descompactar e ler, ele acessa mais rapido sem ter que descompactar, se voce quiser usar algo deodex teria que recompilar e o dar um flush no dalvik cache para que ele indexe novamente


DIZEM, que o deodex é mais lento

2012/8/2 Marcos Viana <marcos....@gmail.com>

ivcarlos

unread,
Aug 2, 2012, 8:56:57 AM8/2/12
to androi...@googlegroups.com
Arquivos ODEX são os arquivos DEX, que normalmente estão dentro dos APKs, já otimizados para o processador em que será utilizado. Os arquivos DEX são as classes compiladas.
Diferentemente do que é falado em todo canto, as aplicações ODEX são mais rápidas que as DEX, isto por que os arquivos DEX são genéricos. E não existe problema algum em misturar aplicações ODEX com DEX.
Estes arquivos não são como DLLs do Windows. O equivalente a DLL seriam os JARs e os SOs, igual no Linux.

Resumão... ODEX é um DEX otimizado. DEX é o código JAVA compilado para a Dalvik.

Ivan

ivcarlos

unread,
Aug 2, 2012, 9:28:56 AM8/2/12
to androi...@googlegroups.com
Ops... só mais um detalhe...
Eles não surgem, são gerados quando vc compila o sistema operacional. Opcionalmente pode-se gera-los a posteriori...
Utilizar uma ROM deodexada fará com q o sistema cacheie na VM todos os aplicativos do sistema.

Ivan

Reply all
Reply to author
Forward
0 new messages