Saltar para conteúdo


Foto
- - - - -

Tutorial de Mod's, Com exemplos para a XXUFNF4

mods modding xxufnf4 odexed odex deodexd adb smali backsmali

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

#1 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 08 December 2014 - 10:41

Os links de download para a rom XXUFNF4 estão neste post. Com um pouco de leitura, facilmente os encontrarão.

Os links de download para a rom XXUGNG1 estão aqui

 

 

Este tópico tem a seguinte estrutura:

 

Advertências

Introdução

Secção 1

1.1 Material necessário

1.1.1 Notepad

1.1.2 Root

1.1.3 Explorador Root

1.1.4 Custom Recovery

Mod's da secção 1 (Com links de download)

Mod 1 Fix do GPS

Mod 2 Escrita no sdcard externo

Mod 3 Aumento de Volume

Mod 4 retirar publicidade

Secção 2

2.1 Material Necessário

2.1.1 Todo o material da Secção 1, mais:

2.1.2 Apktool 2.0 ou posterior

2.1.3 Smali / Backsmali

2.1.4 WinRar ou equivalente

2.1.5 Aplicação para modificar em formato deodexed

2.1.6 framework-res.apk

2.1.7 twframework-res.apk

2.2 Método

2.3 Utilização de apktool em Windows

2.4 Utilização de smali/backsmali em Windows

Mod's da secção 2 ((Com links de download))

Mod 5 Aplicação de Mensagens

Mod 6 Launcher TW

Mod 7 Camâra Fotográfica

Secção 3

3.1 Material necessário:

3.1.1 Todo o material das Secções 1 e 2 mais:

3.1.2 Dexopt-wrapper

3.1.3 ADB

3.1.4 Busybox

3.1.5 BOOTCLASSPATH

3.1.6 Zip para flashar aplicações pela recovery

3.1.7 WinMerge

3.2 Como Fazer o RE-ODEX de uma aplicação que NÃO FAZ PARTE da Framework

3.3 Como Fazer o RE-ODEX de uma aplicação que FAZ PARTE da Framework

3.4 Dicas para craques

Mod's da secção 3 (Com links de download))

Mod 8 Ink Effect

Mod 9 SystemUI

 

Advertências

 

A todos os que praticarem alguma das explicações abaixo, tenho a informar previamente, que estão a alterar o firmware do vosso telefone, e poderão ter problemas posteriores com a lei da garantia, caso não consigam remover todas as alterações.

Para os que têm uma recovery custom, peço por favor, que façam um backup nandroid, antes de implementarem qualquer um destes mod's.

Não sou de modo nenhum, responsável por algum dano ou algum mau funcionamento no vosso telefone, posterior a estas alterações. A implementação destes mod's é absolutamente voluntaria.

Tudo o que está explicado abaixo, está devidamente testado e a funcionar corretamente no meu telefone.

 

Este tópico é dirigido a todos aqueles que querem aprender os princípios básicos do hacking em Android. É um tópico para quem quer aprender. Contudo, é um tópico de hacking. Não é um tópico de capas de telefone. Pressupõe que quem participar neste tópico, tem root no telefone. Se não tem acesso root no seu telefone, este tópico decididamente não é para si. Não perca o seu tempo com a leitura e não nos faça perder o nosso, com as suas perguntas.

 

Introdução

 

A ideia deste tópico é falar sobre pequenas/grandes modificações, que inequivocamente acrescentam algo a este tipo de terminais.

Na medida do possível, dependendo da complexidade dos mod's abaixo tentarei dar algumas dicas sobre  o modo de os adaptar a outras rom's ou a futuras atualizações.

 

O primeiro aspeto a considerar, muitas vezes esquecido, é que um mod é feito para uma rom em particular e não deve ser usado em atualizações posteriores, mesmo que funcione. Sempre que a Samsung, muda uma aplicação, o mod deverá ser atualizado.

A unica excepção, é quando existe uma atualização de firmware, mas uma dada aplicação não é atualizada, o que acontece algumas vezes, mas não acontece sempre.

Já vi muitos mod's em custom rom's, continuarem iguais, mesmo depois das aplicações de base serem atualizados.

 

Para os mais inexperientes, é importante dizer, que basicamente existem dois tipos de firmware. As rom's Odexed e Deodexed.

 

As rom's stock, são todas Odexed. As rom's custom, são quase todas Deodexed. Ao primeiro olhar, a diferença entre elas, é que as rom's Odexed tem o código Java separado da aplicação em si. As aplicações têm terminação .apk e o código Java, tem terminação ".odex" . Cada aplicação Odexed é composta assim por dois ficheiros.

 

odex.PNG

 

Nas rom's Deodexed as aplicações têm o código Java no seu interior (é o ficheiro classe.dex)

deodexed.PNG

 

Nas rom's Deodexed, cada aplicação é constituída por um único ficheiro

deode.PNG

 

Outro aspecto, é que as rom's são por definição Odexed e é assim que deveriam ser. O formato deodexed é ótimo para manipular, mas não deveria ser usado no dia-a-dia. Os "clientes" da custom rom, são as vitimas deste processo, uma vez que praticamente a totalidade das custom rom's são deodexed.

 

Nas rom's Deodexed, apenas se podem usar mod's deodexed.

 

Nas rom's Odexed, DEVEM usar-se apenas mod's Odexed. Mas nalguns casos, podem usar-se mod's deodexed.

 

Para os puristas, esta obsessão pelas rom's odexed cria um obstaculo:

Um mod Odexed, apenas funciona na rom para o qual foi feito.

Um mod deodexed, pode ou não, funcionar noutra rom diferente, mas não existe nenhuma incompatibilidade intrínseca. Depende apenas das diferenças que existam nas aplicações da rom original.

 

Tal como está dito acima, numa rom odexed, podem ser usados mod's deodexed, embora não seja esse o espirito de ter uma rom Odexed.

Para o efeito, apaga-se (na realidade deve fazer-se um backup) a componente odexed da aplicação em causa, o ficheiro .odex e substitui-se a apk pela modificada em formato deodexed.

Contudo, isto apenas é possível, para mod's que estejam na pasta /system/app ou /system/priv-app

 

Numa rom Odexed, se queremos usar um mod que contenha ficheiros da framework modificados, este mod tem que ser Odexed e feito especificamente para essa Rom.

 

Por outro lado, felizmente, existem "mod's universais" que podem ser usados indistintamente em rom's odexed ou deodexed, sem qualquer inconveniente em ambos os casos. São os pequenos mod's, que não implicam modificações em apk's mas apenas em ficheiros de texto, como os gps.conf media_profiles.xml etc.

 

Vamos então aos mod's em si:

 

Secção 1

 

Depois de copiado um mod para o telefone, este só estará ativo, após um reboot.

 

1.1 Material necessario

1.1.1 Notepad

1.1.2 Root

1.1.3 Explorador Root

1.1.4 Custom Recovery

 

Esta é a secção dos mod's básicos. Não é necessário nenhum conhecimento em particular.

Os mod's desta secção funcionam todos, sem adaptação numa rom XXUFNF4 Odexed ou Deodexed. É indiferente. Provavelmente funcionarão nas rom's posteriores à data da escrita deste post. Em caso de duvida, todos os mod's têm um DIY que permite a adaptação para qualquer rom Note 3 9005. Alguns funcionarão noutros modelos Samsung, mas não posso ser mais especifico.

 

1.1 Material necessário:

1.1.1- editor de texto a sério, Notepad++ ou equivalente, o notepad do windows não serve. Para quem usa Linux, o GEdit é uma boa possibilidade igualmente

1.1.2 - Root. Sem root, não vale sequer a pena, ler o tópico.

1.1.3 - Explorador root. Eu uso este, mas qualquer um serve.

1.1.4 - Custom Recovery. Eu uso esta, mas qualquer custom recovery serve.

 

1..1.1 O Notepad é o editor que deveremos usar nestas atividades se estamos a usar o Windows. Tem a grande vantagem, ao contrario de outros editores de texto, não deixar caracteres de tabulação ou outros caracteres que não foram explicitamente escritos por nós, no documento editado.

Entre as inúmeras funcionalidades que permite, vamos usar exaustivamente duas, a possibilidade de fazer busca por uma string num texto e a mais importante, de fazer busca em pastas com sub-diretórios.

 

1.1.2 Embora fora do âmbito deste tutorial explicar como se faz root, quem não tem root ,deverá ler este tópico. Para quem não sabe, root é a ferramenta que nos permite aceder, para leitura ou escrita aos ficheiros de sistema.

 

1.1.3 Um explorador root, é fundamental para o nosso telefone. Ao contrario do explorador de ficheiros nativo, permite ler, copiar e mover ficheiros para a root do telefone. É Necessário root para poder usar na plenitude.

 

1.1.4 Custom Recovery. Um telefone com um firmware stock tem uma recovery muito limitada em funcionalidades, mas mais grave ainda, não permite instalar zip's que não sejam assinados pela Samsung. Estas limitações levam-nos a procurar alternativas. As custom recovery permitem no âmbito deste tutorial, flashar as aplicações que modificamos diretamente no sistema operativo, sendo uma alternativa muito interessante ao explorador root. Permitem ainda algumas operações de limpeza entre outras ferramentas disponíveis.  A TWRP, assinalada acima, tem aqui o seu endereço para download

 

 

 

MOD's da Secção 1

 

Mod 1 Fix do GPS

Mod 2 Escrita no sdcard externo

Mod 3 Aumento de Volume

Mod 4 retirar publicidade

 

1 - Mod que permite um fix do GPS muito mais rápido.

 

Download:

Basta colocar este ficheiro em system/etc, com as mesmas permissões do ficheiro que está lá atualmente

 

DIY:

Acrescentar o código abaixo ao final do ficheiro gps.conf que têm na vossa rom, na referida localização. Deverão fazer isto num PC, obviamente.

NTP_SERVER = pt.pool.ntp.org
NTP_SERVER = 3.pt.pool.ntp.org
NTP_SERVER = 0.europe.pool.ntp.org
NTP_SERVER = 2.europe.pool.ntp.org

Não esquecer, ao colocar o ficheiro no telefone, de corrigir as permissões, para as do ficheiro original. Isto é feito com um root explorer

2014-12-10%2011.08.37.png

este mod é valido para quem está em Portugal. Para quem usa o meu kernel, pode fazer as alterações de um modo mais fácil na pagina "Network" da Synapse, em "GPS Region"

 

2 - Mod para corrigir a impossibilidade de escrita no sdcard, por aplicações de terceiros

 

Download:

Colocar este ficheiro em /system/etc/permissions com as mesmas permissões do ficheiro que está lá atualmente (as mesmas do Mod1)

 

DIY:

Com o notepad++ editar o ficheiro platform.xml

 

Antes:

     <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
    </permission>

Depois de editado:

    <permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
        <group gid="sdcard_r" />
        <group gid="sdcard_rw" />
        <group gid="media_rw" />
    </permission>

 

3 - Mod para aumentar o nível de som.

 

Neste caso existe uma nuance. O ficheiro a editar permite aumentar/diminuir o nível de som em muitos aspectos. O exemplo abaixo, é apenas para aumentar ligeiramente, e sem qualquer distorção o nível do amplificador analógico. Apenas atua no som que sai pelos auscultadores. O nível do amplificador digital, também pode ser editado aqui, mas eu prefiro fazer essa modificação on flight e a gosto, no meu kernel. É feita na página "Sound" da aplicação synapse, em "Headphone volume".

 

Download:

Colocar este ficheiro em /system/etc com as mesmas permissões do ficheiro que está lá atualmente.(as mesmas do Mod1).

 

DIY:

Com o notepad++ editar o ficheiro mixer_paths.xml.

PROCURAR:
<!-- Play Scenario  -->

Abaixo fazer a seguinte modificação:

 

Antes:

	<path name="headset">
		<path name="ear" />
		<ctl name="HPHL Volume" value="20" />
		<ctl name="HPHR Volume" value="20" />
		<ctl name="RX1 Digital Volume" value="77" />
		<ctl name="RX2 Digital Volume" value="77" />
		<ctl name="COMP1 Switch" value="1" />
	</path>

Depois:

	<path name="headset">
		<path name="ear" />
		<ctl name="HPHL Volume" value="30" />
		<ctl name="HPHR Volume" value="30" />
		<ctl name="RX1 Digital Volume" value="77" />
		<ctl name="RX2 Digital Volume" value="77" />
		<ctl name="COMP1 Switch" value="1" />
	</path>

4 - Mod para não ter publicidade no telefone

 

Todos os sistemas operativos têm algures, um ficheiro hosts, que basicamente, é um ficheiro com uma lista de endereços, aos quais não são permitidas ligações.

Os bloqueadores de publicidade, não são mais do que uma lista exaustiva destes endereços, colocados nesse ficheiro.

 

Download:

Colocar este ficheiro em /system/etc com as mesmas permissões do ficheiro que está lá atualmente. (as mesmas do Mod1).Têm que extrair o ficheiro do zip, antes de colocar no telefone.

Este mod pode ser usado em qualquer telefone de qualquer modelo, Android. Pode ser usado igualmente noutros sistemas operativos, apenas o path, será diferente.

 

DIY

Uma vez que este mod pode ser usado em todos os modelos não existe nada para adaptar. A unica coisa que posso acrescentar, é que se pode ir adicionando novos sites, usando o seguinte formato

127.0.0.1 angelina-stacey.us

onde "angelina-stacey.us" é o endereço do site a bloquear.

Pode-se ainda usar uma lista atualizada periodicamente. Haverá várias, eu gosto desta:

http://forum.xda-dev...d.php?t=1916098

 

 

 

 

Secção 2

 

Depois de copiado um mod para o telefone, este só estará ativo, após um reboot.

 

2.1 Material Necessário

2.1.1 - Todo o material da Secção 1, mais:

2.1.2 - Apktool 2.0 ou posterior

2.1.3 - Smali / Backsmali

2.1.4 - WinRar ou equivalente

2.1.5 - aplicação para modificar em formato deodexed

2.1.6 - framework-res.apk

2.1.7 - twframework-res.apk

2.2 Método

2.3 Utilização de apktool em Windows

2.4 Utilização de smali/backsmali em Windows

 

Esta é a secção dos mod's para iniciados. é necessário algum material e algum método.

Nesta secção  vamos fazer fazer alterações ao código das aplicações. Para isso temos que descompilar as aplicações em causa.

As aplicações usadas em android são programas Java, que têm dois componentes fundamentais. Os resources e o código Java.

Numa aplicação odexed, são dois ficheiros separados, o primeiro com terminação apk e o segundo odex.

Numa aplicação deodexed, temos apenas um ficheiro, que inclui, a componente odexed, num ficheiro de nome classe.dex. Isto pode ser confirmado se editarem uma aplicação com o Winrar ou com um programa equivalente. 

 

Infelizmente as aplicações odexed não podem ser descompiladas na sua componente Java. Têm que ser transformadas numa primeira fase em deodexed e apenas quando estão neste formato, podem ser descompiladas.

 

Está fora do âmbito deste tutorial, nesta fase, explicar como se obtém uma aplicação em formato deodexed. Podem sempre fazer o download duma rom deodexed correspondente à vossa e que não tenha sido modificada. No entanto, os mais curiosos, têm aqui o link da kitchen dsixda's, A FERRAMENTA quando se fala em fazer o deodex de uma rom. No entanto existem outras ferramentas.

 

Os mod's desta secção, no final estarão em formato deodexed. Podem evidentemente ser usados em rom's deodexed. Para usar em rom's odexed, terão que apagar da vossa rom, o ficheiro .odex correspondente e de seguida, copiar o mod em formato deodexed para a vossa rom.

Na Secção 3 iremos ver como fazer o re-odex de uma aplicação. Se fizerem esse passo, terão a vossa rom Odexed com mod's odexed sem nenhuma incompatibilidade.

 

2.1 Material necessário:

2.1.1 Todo o material da Secção 1, mais:

2.1.2 apktool  2.0 ou posterior

2.1.3 Small / backsmali

2.1.4 winrar ou equivalente

2.1.5 aplicação para modificar em formato deodexed

2.1.6 framework-res.apk

2.1.7 twframework-res.apk

 

2.1.2 Apktool é a ferramenta usada para descompilar e compilar aplicações android

 

2.1.3 Smali/backsmali são duas aplicações que são usadas para descompilar e compilar o código java das das aplicações Android

 

2.1.4  Usamos o WinRar para abrir as aplicações android, pois estas são ficheiros zip, embora sem compressão. Assim, podemos  abrir as aplicações para retirar alguns ficheiros do seu conteúdo, e para voltarmos a colocar esse ficheiros depois de manipulados, dentro da aplicação. Podemos usar o winrar para editar as aplicações ( ficheiros apk) e os ficheiros da framework (ficheiros jar)

 

2.1.5 Quem tem uma rom Odexed não pode simplesmente pegar numa aplicação do telefone e fazer estes mod's. Terá que fazer previamente o deodexed da aplicação, ou fazer download duma custom rom deodexed e que tenha essa aplicação sem modificar

 

2.1.6 Este ficheiro e o seguinte do ponto 2.1.7 encontram-se no seu telefone em /system/framework

 

2.2 Método:

A aplicação que permite descompilar e voltar a compilar o código Java, é a aplicação smali/backsmali, que são evidentemente, duas aplicações.

Apktool é uma aplicação que no seu interior, entre outras, ferramentas, inclui as smali/backsmali, mas que frequentemente estão desatualizadas, pois a atualização do apktool é não feita com a mesma frequência com que são lançadas novas versões das smali/backsmali

Por este motivo, Embora o apktool possa ser usado para descompilar a componente resources e a componente Java, eu uso o apktool para descompilar os resources e descompilo o codigo Java com smali/backsmali. Na Secção 3, darei outro bom motivo para esta prática.

 

2.3 Utilização de apktool em Windows

Download da aplicação do link no ponto 2 e coloquem-na numa determinada pasta.

Fazer um rename ao arquivo para :

apktool.jar

Download deste ficheiro, extraem o zip e colocam o conteúdo na mesma pasta do parágrafo anterior.

Têm o apktool pronto a funcionar

 

Para descompilar uma aplicação:

Começa-se por instalar a framework. Só é necessário efetuar este passo uma vez. Não é necessário voltar a instalar a framework, até que mudem de rom.

Colocar na pasta onde está apktool, os dois ficheiros da framework assinalados acima nos pontos 6 e 7. Estes ficheiros, estão na vossa rom em /system/framework

 

Os comandos abaixo estão atualizados para a versão 2 da apktool. São ligeiramente diferentes dos comando usados na versão 1.0

 

Abrem uma janela de terminal.  Path da pasta onde têm o apktool. (Com o comando cd)

apktool.PNG

 

Na janela terminal, dão os dois comandos abaixo:

apktool if framework-res.apk -t tag
apktool if twframework-res.apk -t tag

E está instalada a framework. Só precisam fazer estes passos de novo, quando descompilarem aplicações de rom's diferentes.

 

Agora, para descompilar uma aplicação, por exemplo SystemUi.apk, seria: 

apktool d SystemUI.apk -o output

Seria criado na pasta onde têm o apktool, uma pasta de nome output onde teriam a vossa aplicação descompilada e pronta a editar.

 

Depois de editada e alterada, para compilar de novo:

apktool b output -o SystemUI.apk

e teriam a vossa aplicação compilada pronta a usar

 

 

2.4 Utilização de smali/backsmali em Windows

Esta aplicação tem uma utilização mais facil que a anterior.

Download das duas aplicações e coloquem-nas numa determinada pasta.

Abrem a aplicação a editar em formato deodexed com o winrar e extraem do seu interior o ficheiro classes.dex.

deodexed.PNG

 

Colocam este ficheiro na mesma pasta onde têm os ficheiros smali e backsmali.

 

Abrem um terminal de comandos. Para descompilar:

java -Xmx512m -jar baksmali-2.0.3.jar classes.dex

e é criada uma pasta de nome out, com o conteúdo de todo o código Java da vossa aplicação. Depois de modificado, para compilar:

java -Xmx512m -jar smali-2.0.3.jar out -o classes.dex

Para terminar, com o winrar, colocariam este classes.dex, acima obtido, dentro da vossa aplicação. Irão substituir o anterior classes.dex, por este modificado por vocês. Têm a vossa aplicação com o código Java modificado, pronta a usar numa rom deodexed.

 

MOD's da Secção 2

Mod 5 Aplicação de Mensagens

Mod 6 Launcher TW

Mod 7 Camâra Fotográfica

 

 

Para os DIY dos mods desta secção, necessitam ter as aplicações a modificar em formato deodexed

 

Os mod's desta secção, têm para download, um ficheiro de diffs. Fazem o download, descomprimem e comparam as pastas com o WinMerge. A pasta "Ori", contém, os ficheiros da aplicação stock. A pasta "Mod"contem os ficheiros da aplicação modificada. Com o Winmerge, podem ver exatamente as diferenças e o que foi modificado em cada mod

 

5 - Mod da aplicação de mensagens SecMms.apk

 

Este é um mod que me é muito querido. Deve ter sido das primeiras aplicações que senti necessidade de modificar, por não estar satisfeito com a aplicação stock. Por outro lado, nunca gostei de usar aplicações de terceiros, para temas cobertos pelas aplicações do firmware. A solução foi, modificar a aplicação de base.

Atualmente faço muito menos modificações que aquelas que uso, pela simples razão que uso a framework Xposed e a aplicação do Wanam tem algumas modificações importantes incluídas.

 

Nesta aplicação as modificações são apenas as seguintes:

 

a - as sms's com emojis especiais não são convertidas em MMS's

b - Não tem aviso sonoro de relatório de entrega de SMS's. Se o relatório de entrega estiver ativo, recebemos apenas uma curta vibração. Toque longo na mensagem, mostra os detalhes e podemos consultar o relatório.

c - mudei os emojis de base, pois não gosto dos emojis verdes.

 

Download

MOD odexed

MOD deodexed

Diffs

Instalação:

Descomprimir e colocar em /system/priv-app. Manter as permissões do ficheiro stock. (as mesmas do Mod1).

Se usar o mod deodexed numa rom Odexed, ver a nota na introdução do post.

 

DIY

a - abrir com Winrar SecMms.apk e extrair classe.dex. Descompilar com smali/backsmali.

Em  /com/android/mms/ui editar ComposeMessageFragment.smali

Localizar a primeira entrada com o seguinte código (existem duas)

invoke-virtual/range {v19 .. v20}, Lcom/android/mms/data/WorkingMessage;->setEmojiRequiresMms(Z)V

substituir por:

invoke-static {}, Lcom/android/mms/MmsConfig;->getEnableEmoji()Z

b - ir a /com/mms/transaction/. Editar MessagingNotification.smali

procurar por:

Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;

apagar todas as linhas que contenham essa entrada. São 5 linhas

procurar ainda as seguintes linhas:

iput-object v10, v6, Landroid/app/Notification;->tickerText:Ljava/lang/CharSequence;

invoke-virtual {v6, p0, v10, v3, v7}, Landroid/app/Notification;->setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V

e apagar estas duas igualmente

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SecMms.apk e terminámos.

 

c - Este é mais simples. Basta substituir algumas imagens. Descompilar secmms.apk com apktool. Ir  a /res/

e colocar as imagens que estão dentro deste zip na pasta /res/drawable-sw360dp-xxhdpi. Existem lá os emojis verdes com o mesmo nome. É para substituir.

Compilamos e está terminado

 

 

6 - Mod TouchWiz Seclauncher.apk

 

a - 5 Icones na Dock sem nome da aplicação
b -  6X4 na AppGrid em Landscape Mode
c - 4X4 em Home em Landscape Mode
d - Autorotação definida pelo  toggle Rotação do ecrã)
e - Mostra as aplicações congeladas (bug corrigido)

 

Download

MOD odexed

MOD deodexed

Diffs

Instalação:

Descomprimir e colocar em /system/priv-app. Manter as permissões do ficheiro stock. (as mesmas do Mod1).

Se usar o mod deodexed numa rom Odexed, ver a nota na introdução do post.

 

DIY

a -  Descompilar SecLauncher4.apk com com apktools.

ir a /res/values-sw360dp-xxhdpi e editar dimens.xml

substituir:

<dimen name="hotseat_cellWidth">72.0dip</dimen>

por:

<dimen name="hotseat_cellWidth">61.0dip</dimen>

ir a /res/values-sw360dp-xxhdpi e editar integers.xml

substitur:

<integer name="hotseat_cellCountX">5</integer>

por:

<integer name="hotseat_cellCountX">6</integer>

finalmente, ir a /res/values-sw360dp-xxhdpi e editar styles.xml

substituir:

<item name="android:drawablePadding">8.0dip</item>

por:

<item name="android:drawablePadding">0.0dip</item>

e substituir

<item name="android:drawablePadding">8.0dip</item>

por:

<item name="android:drawablePadding">0.0dip</item>

b e c - Comecem por verificar se a vossa aplicação SecLauncher tem os ficheiros que estão no ficheiro para download (link abaixo). Caso existam no vosso telefone, não substituam os ficheiros e passem ao ponto seguinte (Ponto d)

Por vezes a aplicação seclauncher tem os ficheiros para landscape, mas esta função não está ativada. É disso que trata o ponto d.

No caso da aplicação que modifiquei, na minha rom, não existiam sequer os ficheiros para landscape mode. São esse os ficheiros que estão no link abaixo, (deste ponto b e c)

Download deste zip e colocar o conteúdo em /res. Compilar e está terminado. Esta modificação só estará contudo completa, quando ativarem a auto-rotação no ponto d, deste mod (o seguinte)

 

d - abrir SecLauncher4.apk com Winrar e  extrair classe.dex. Descompilar com smali/backsmali

ir a /com/android/launcher2 e editar launcher.smali

procurar:

invoke-virtual {p0, v10}, Landroid/app/Activity;->setRequestedOrientation(I)V

substituir na linha imediatamente acima:

const/4 v10, 0x1

por:

const/4 v10, 0x2

e - Descompilar classes.dex com smali/backsmali.

ir a /com/android/launcher2 e editar lMenuAppModel.smali

procurar:

.method isDisableAppListEmpty()Z

de seguida procurar:

.end method

imediatamente acima (2 linhas acima) têm esta instrução:

const/4 v0, 0x0

substituir por:

const/4 v0, 0x0

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SecLauncher4.apk e terminamos. A Aplicação SecLauncher4..apk está pronta a usar.

 

 

7 - Mod câmara  SamsungCamera2.apk

 

Fotos:
a - Fotos em jpeg sem compressão. As fotos com a aplicação stock têm a qualidade em 96%. Estas são 100%. Os arquivos gerados são ligeiramente maiores
b - Pressão longa no botão de power, tira foto. O Power Menu é ativado igualmente, mas a foto é tirada

Videos:
c - Sem limite de tempo, em modo gravação 4K. Como existe a limitação de 4GB por ficheiro em TODAS as câmaras Android, isto dá um novo limite de 8m47s com o atual BitRate.
d - BitRate ligeiramente aumentado (como consequência, os ficheiro gerados são ligeiramente maiores)
- 65Mbit 4k (not 50Mbit) - (Default 48Mbit)
- 44Mbit 1080/60p - (Default 28Mbit)
- 22Mbit 1080/30p - (Default 17Mbit)
- 192Kbit audio - (Default 128 Kbit)

 

Download

MOD odexed

MOD deodexed

Media profiles

Diffs

Instalação:

Descomprimir e colocar em /system/app. Manter as permissões do ficheiro stock.(as mesmas do Mod1).

Se usar o mod deodexed numa rom Odexed, ver a nota na introdução do post.

O ficheiro media_profiles.xml, é para extrair do zip e colocar em /system/etc/, para retirar um limite genérico de gravação em video de 50MBit

 

DIY

a - abrir SamsungCamera2.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

ir a /com/sec/android/app/camera e editar CameraSettings.smali

Procurar:

.method public static getQualityValue(I)I

abaixo, substituir:

const/16 v0, 0x60

por

const/16 v0, 0x64

De notar que em hexadecimal, 96 (decimal) é 60 e 100 (decimal) é 64

 

b - ir a /com/sec/android/app/camera e editar Camera.smali

procurar por:

    :sswitch_data_40a
    .sparse-switch
        0x4 -> :sswitch_d4
        0x17 -> :sswitch_152
        0x18 -> :sswitch_350
        0x19 -> :sswitch_350
        0x1a -> :sswitch_d7

substituir por:

    :sswitch_data_40a
    .sparse-switch
        0x4 -> :sswitch_d4
        0x17 -> :sswitch_152
        0x18 -> :sswitch_350
        0x19 -> :sswitch_350
        0x1a -> :sswitch_152

e substituir:

    :sswitch_data_57a
    .sparse-switch
        0x4 -> :sswitch_cd
        0x17 -> :sswitch_228
        0x18 -> :sswitch_16
        0x19 -> :sswitch_16
        0x1a -> :sswitch_4c0

por:

    :sswitch_data_57a
    .sparse-switch
        0x4 -> :sswitch_cd
        0x17 -> :sswitch_228
        0x18 -> :sswitch_16
        0x19 -> :sswitch_16
        0x1a -> :sswitch_228

0x1a é a tecla power, que estamos a redirecionar para a ação "tirar foto"

 

c - ir a /com/sec/android/app/camera e editar CommonEngine.smali

substituir:

.field private static final MAX_DUAL_FHD_RECORD_TIME:I = 0x12c

por:

.field private static final MAX_DUAL_FHD_RECORD_TIME:I =0x21c

substituir:

.field private static final MAX_UHD_RECORD_TIME:I = 0x12c

por:

.field private static final MAX_UHD_RECORD_TIME:I = 0x21c

de notar que 12c representa em decimal (300) segundos, anterior limite de 5 minutos, aumentado para 9 minutos (540 segundos)

falta apenas definir este limite no mostrador, para que seja corretamente visualizado 9 minutos de limite, quando estamos a gravar um video e não erradamente os 5 minutos da versão stock.

 

vamos a /com/sec/android/app/camera/glwidget

e editamos TwGLCamcorderRecordingMenu.smali

substituimos:

const/16 v0, 0x12c

por

const/16 v0, 0x21c

substituimos:

const/16 v1, 0x12c

por:

const/16 v1, 0x21c

e finalmente substituímos 2 entradas:

const-string v0, "05:00"

por:

const-string v0, "09:00"

d - ir a /com/sec/android/app/camera e editar MediaRecorderProfile.smali

substituir:

    :array_240
    .array-data 4
        0x2
        0x1036640
        0xe4e1c0
        0xc65d40
        0x1e
        0x2
        0x3
        0x1f400

por:

    :array_240
    .array-data 4
        0x2
        0x14fb180
        0xe4e1c0
        0xc65d40
        0x1e
        0x2
        0x3
        0x2ee00

1036640 em hexa significa 17000000 em decimal

14fb180 em hexa significa 22000000 em decimal

1f400 em hexa significa 128000 (bitrate do som stock)

2ee00 em hexa significa 192000 (novo bitrate do som)

Deixo as outras conversões hexa-decimal para vocês fazerem, se quiserem saber exatamente o que estão a alterar.

 

substituir:

     :array_318
    .array-data 4
        0x2
        0x2dc6c00
        0x2dc6c00
        0x2dc6c00
        0x1e
        0x2
        0x3
        0x1f400
        0x2
        0xbb80

por:

    :array_318
    .array-data 4
        0x2
        0x3dfd240
        0x2dc6c00
        0x2dc6c00
        0x1e
        0x2
        0x3
        0x2ee00
        0x2
        0xbb80

substituir:

    :array_348
    .array-data 4
        0x2
        0xd59f80
        0xe4e1c0
        0xc65d40
        0x3c
        0x2
        0x3
        0x1f400

por:

    :array_348
    .array-data 4
        0x2
        0x14fb180
        0xe4e1c0
        0xc65d40
        0x3c
        0x2
        0x3
        0x2ee00

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SamsungCamera2.apk e terminamos. A Aplicação SamsungCamera2..apk está pronta a usar.

E...está...quase pronto:

Para terminar est mod têm apenas que fazer mais uma alteração. Está definido em system/etc/media_profiles.xml um limite máximo de bit rate em video de 50MBit. Para poderem desfrutar da gravação em video, de 65MBit em 4K têm que alterar este limite.

Para isso editamos media_profile.xml e procuramos por:

~minBitRate="64000" maxBitRate="50000000"

substituimos por:

minBitRate="64000" maxBitRate="100000000"

Basta substituir o ficheiro original, por este alterado por nós.

 

 

Secção 3

 

Depois de copiado um mod para o telefone, este só estará ativo, após um reboot.

 

3.1 Material necessário:

3.1.1 Todo o material das Secções 1 e 2 mais:

3.1.2 Dexopt-wrapper

3.1.3 ADB

3.1.4 Busybox

3.1.5 BOOTCLASSPATH

3.1.6 Zip para flashar aplicações pela recovery

3.1.7 WinMerge

3.2 Como Fazer o RE-ODEX de uma aplicação que NÂO FAZ PARTE da Framework

3.3 Como Fazer o RE-ODEX de uma aplicação que FAZ PARTE da Framework

3.4 Dica para craques

 

Esta é a secção dos mod's mais avançados. Aqui iremos fazer mod's que implicam a alteração de mais que uma aplicação, e explicar como fazer o re-odex dos mod's para os podermos usar em rom's odexed. Fica ainda uma dica para craques.

 

3.1 Material necessário:

 

3.1.1 Todo o material das Secções 1 e 2 mais:

3.1.2 Dexopt-wrapper

3.1.3 ADB

3.1.4 Busybox

3.1.5 BOOTCLASSPATH

3.1.6 Zip para flashar aplicações pela recovery

3.1.7 WinMerge

 

3.1.2 Dexopt-wrapper é o arquivo necessário para fazer o re-Odex de uma aplicação. Façam o download, descomprimam o zip e coloquem o arquivo no vosso telefone em /system/bin com as mesmas permissões que os arquivos dessa pasta. Só fica a funcionar, após um reboot.

2014-12-10%2011.10.55.png

 

3.1.3 ADB é uma ferramenta que permite usar num terminal de comandos do vosso PC, as mesmas instruções que podem usar num terminal instalado no vosso telefone. Faz parte do Android SDK. A melhor forma de o obter, é instalerem o SDK no vosso PC. Depois de instalado, têm uma pasta de nome "platform-tools". É aí que se encontra o ADB.

Por causa das restrições impostas com a introdução do Selinux, necessitam de um kernel com Selinux Permissive, para poderem ligar o telefone por ADB. O kernel stock é Selinux Enforcing

Se quiserem fazer operações com privilégios root, necessitam de um kernel insecure, ou da instalação de uma aplicação para o efeito. Obviamente que é necessário root instalado no telefone e dar permissões root ao adb quando solicitado pelo superuser (super-su ou equivalente)

 

Para usar o ADB, abrem um terminal de comandos no vosso PC, path para "platform-tools".

adb1.PNG

De seguida dão o seguinte comando:

adb shell

Se tiverem um output, igual ao mostrado abaixo, estão a usar o ADB:

 

adb2.PNG

 

Todos os procedimentos mencionados  a seguir neste tutorial, assumem que o comando anterior, foi dado com sucesso e que estão neste ponto.

 

3.1.4 Busybox é um conjunto de ferramentas usadas em Android (Linux). É usada por algumas aplicações, e procedimentos. É uma aplicação fundamental para quem anda nestas lides. Pessoalmente uso esta versão, mas qualquer uma serve. Atenção que não basta instalar essa aplicação no vosso telefone. A aplicação não é a Busybox, mas sim o instalador da Busybox. Há que executar a aplicação, para esta instalar a Busybox.

Se quiserem confirmar que têm a busybox corretamente instalada, em adb executem o comando:

busybox

3.1.5 BOOTCLASSPATH é uma informação fundamental para o re-odex. É especifica para cada equipamento e pode mudar com as mudanças de firmware, embora normalmente só tenha alterações quando se altera a versão de Android. No entanto chamo a atenção, de que a Samsung alterou por duas vezes o BOOTCLASSPATH do Note 3 na versão 4.4.2. Devem sempre confirmar esta informação. Em ADB usem este comando:

echo $BOOTCLASSPATH > /sdcard/tmp.txt

no sdcard do vosso telefone está um arquivo de nome tmp.txt com a informação do BOOTCLASPATH

Apenas por curiosidade e para saberem o aspecto deixo-vos o meu:

/system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar:/system/framework/scrollpause.jar:/system/framework/stayrotation.jar:/system/framework/smartfaceservice.jar:/system/framework/secocsp.jar:/system/framework/commonimsinterface.jar:/system/framework/WfdCommon.jar:/system/framework/oem-services.jar:/system/framework/org.codeaurora.Performance.jar

3.1.6 Zip para flashar aplicações pela recovery

Embora seja possível colocar os mod's na rom com um root explorer, quando são mod's de apenas um ficheiro, quando são varios ficheiros isso pode ser difícil, pois o telefone pode fazer reboot, após um ficheiro vital ser apagado, o que nos pode criar algumas dificuldades.

 

A forma lógica de ultrapassar a questão acima, é flashar os mod's pela recovery. Para isso necessitamos de uma recovery custom, pois a recovery oficial, apenas permite flashar zip's assinados pela Samsung. e nós não conhecemos essa chave. Pessoalmente uso a Recovery TWRP, embora sirva uma qualquer.

 

Para flashar mod's através de um zip, podemos usar um zip, genérico, e colocar dentro desse zip, na pasta/pastas respetivas, os ficheiros que queremos flashar. Se esse ficheiro pertence a uma pasta que não no zip abaixo, basta criar uma nova pasta no zip.

 

Todos os zip's para flashar pela recovery têm um script, que é um ficheiro de texto e que podem editar/ler, com varias informações e ordens para serem executadas no momento do flash. Uma delas é o tipo de file system que têm em system. Atualmente usam-se dois tipos de file system neste telefone, EXT4 ou F2FS, e por esse motivo temos que usar zip's diferentes, com a informação correta para o nosso file system.

Por este motivo, estão para download dois zip's diferentes:

Zip genérico para que tem a partição system em EXT4

 

Zip genérico para que tem a partição system em F2FS

Agora, para flasharem um zip pela recovery, basta colocar o ficheiro/ficheiros que querem flashar, dentro da respectiva pasta do zip acima, colocar esse zip modificado por voçês, dentro do sdcard interno ou externo do vosso telefone, fazer reboot na recovery, escolher a opção flashar zip, e flashar. No próximo reboot, terão o vosso ficheiro já no locar correto e a funcionar.

NOTA: Os zip's acima funcionam num N9005, noutro telefone, não deverão funcionar sem serem adaptados, pois os mount points não são iguais.

 

3.1.7 WinMerge é uma ferramenta fundamental para estas atividades. Serve para rapidamente e sem esforço, saberem que diferenças existem entre dois ficheiros e muito mais importante, as diferenças entre ficheiros que estão em duas pastas. Inclusivamente compara ficheiros em sub-pastas. É o equivalente ao Kompare do Linux.

Se têm um mod numa determinada rom e querem saber como foi feito, basta descompilar a aplicação deodexed modificada, descompilar a mesma aplicação deodexed da mesma rom Stock (fazem o download da rom stock e fazem o deodex da mesma para extrair a aplicação em causa), e finalmente comparar com o winmerge as duas pastas. Et voilá.

 

MUITO IMPORTANTE:

Para funcionar na perfeição, esta técnica, implica que na Kitchen onde fazem o deodex, tenham exatamente a mesma versão de smali/backsmali, que usam para descompilar as aplicações, mencionada na Secção 2. à data da feitura deste post, a ultima versão é a 2.0.3.

 

É este o motivo, pelo qual na secção 2 eu referi que uso o apktool para descompilar/compilar os resources e smali/backsmali para compilar/descompilar código Java.

Assim, quando há uma nova versão de smali/backsmali, eu posso atualizar a kitchen onde faço o deodex das rom's, e as ferramentas smali/backsmali que uso para compilar/descompilar, usando sempre as mesmas versões, atualizadas. Isto sem perder a possibilidade de comparar ficheiros com o WinMerge

 

3.2 Como Fazer o RE-ODEX de uma aplicação que NÃO FAZ PARTE da Framework

Começamos pelo mais simples. O Re-ODEX de uma aplicação que não é da framework (ou seja localizada em, /system/app ou /system/app-priv)

Neste caso, começamos por colocar a aplicação deodexed que queremos re-odexar no sd card do telefone.

Liga-se por usb o telefone ao PC

Abrimos o ADB como explicado acima. Dá-se os seguinte dois comandos, um de cada vez:

cd sdcard

dexopt-wrapper NOSSO_MOD.apk NOSSO_MOD.odex BOOTCLASSPATH

Exemplo:

Se queremos fazer o RE-ODEX de ext.jar e o vosso BOOTCLASSPATH é igual ao meu, seria:

cd sdcard

dexopt-wrapper ext.jar ext.odex /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar:/system/framework/scrollpause.jar:/system/framework/stayrotation.jar:/system/framework/smartfaceservice.jar:/system/framework/secocsp.jar:/system/framework/commonimsinterface.jar:/system/framework/WfdCommon.jar:/system/framework/oem-services.jar:/system/framework/org.codeaurora.Performance.jar

(Atenção, que neste exemplo, ext.jar é um ficheiro da framework e não tem a extensão .apk)

Se a operação foi bem sucedida, isto é, se vocês não cometeram erros, no terminal de comandos, terão um output semelhante a este:

--- BEGIN 'ext.jar' (bootstrap=0) ---
--- waiting for verify+opt, pid=4617
--- would reduce privs here
--- END 'ext.jar' (success) ---

reodex1.PNG

 

...e neste momento temos no sdcard, para alem da aplicação que estamos a fazer o Re-Odex, a nossa aplicação em formato ODEX

 

Para terminar, temos apenas um ultimo passo, muito importante, que convém nunca esquecer. Como sabem nesta altura, uma aplicação deodexed, tem no seu interior, o ficheiro classes.dex que é o código Java.

 

deodexed.PNG

 

Ao fazer o RE-ODEX o código Java passa a a estar no ficheiro .odex obtido no ultimo passo.

Então, neste momento temos o código Java duplicado e temos que o apagar da nossa aplicação deodexed.

Com o winrar editamos a aplicação deodexed e pura e simplesmente apaga-se o ficheiro classes.dex.

 

odexed.PNG

 

A apk resultante deste passo e o ficheiro .Odex obtido por ADB são os nossos dois ficheiros, que compõem uma aplicação ODEX. Estão prontos a usar na vossa rom.

 

Como já sabem neste momento, estes ficheiros ODEX, só podem ser usados na rom onde foram obtidos. Usados noutra rom colocam o telefone em bootloop

 

3.3 Como Fazer o RE-ODEX de uma aplicação que FAZ PARTE da Framework

Faz-se tudo exatamente como descrito no ponto anterior. A unica diferença é que existe um passo adicional. É necessário copiar uma assinatura do ficheiro que está na framework do nosso telefone.

Então, depois de dados os dois comandos acima descritos, em ADB damos um terceiro comando:

busybox dd if=/system/framework/NOSSO_MOD.odex of=NOSSO_MOD.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

Exemplo:

Se queremos copiar a assinatura do ficheiro ext.odex da framework do nosso telefone, para o nosso mod:

busybox dd if=/system/framework/ext.odex of=ext.odex bs=1 count=20 skip=52 seek=52 conv=notrunc

Se a operação foi bem sucedida, terão um output semelhante a este:

count=20 skip=52 seek=52 conv=notrunc
rk/ext.odex of=ext.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
20+0 records in
20+0 records out
20 bytes (20B) copied, 0.002092 seconds, 9.3KB/s

reodex2.PNG

 

Para este passo ser executado, é necessário que o telefone tenha instalada a busybox.

Agora a aplicação pode ser usada na nossa framework. Se copiarem os ficheiros sem efetuar este passo, o telefone entra em bootloop

 

3.4 Dicas para craques:

 

As dicas para craques são duas.

DICA1

Não é necessário, fazer as alterações todas, uma-a-uma, quando existe uma nova rom. O que eu faço é após deodex da nova rom, começo por descompilar a aplicação que quero modificar.

Em seguida, com o WinMerge, comparo os ficheiros descompilados, da nova aplicação com os originais, da aplicação da rom anterior (os ficheiros ORI que têm para download em cada DIY.)

 

Só se alteram os ficheiros que sofreram alterações na nova rom. Os ficheiros que permanecem iguais (normalmente são muito, ou mesmo todos) usam-se os ficheiros anteriores, da pasta (MOD do DIY). Com esta simplificação poupa-se imenso trabalho ao atualizar um mod.

 

Por vezes, a nova rom num determinado ficheiro tem apenas uma ( ou 2 ou 3) modificações. Pode ser mais simples fazer essa alterações no ficheiro modificado anterior, que fazer todas as alterações no novo ficheiro. Esta é outra simplificação que poupa imenso trabalho.

 

DICA2

Se lerem com atenção no DIY do mod 9, o ponto d, percebem facilmente que o modelo utilizado ali pode ser extrapolado, para todos os mod's facilitando-nos muito esta atividade:

Com efeito, se replicarmos em ext.jar um determinado path, existente nos ficheiros smali de outra aplicação de sistema, os smalis existentes em ext.jar sobrepõem-se aos smalis originais. Isto permite-nos copiar os smali (atenção pois têm que replicar o path com exatidão) que queremos modificar, para ext.jar concentrando numa unica aplicação, todos os nossos mod's.

 

Assim, necessitamos fazer as alterações na componente resources, de cada aplicação a modificar, e concentramos os smali a modificar todos em ext.jar, fazendo apenas uma descompilação/ compilação.

Para os mais secretistas, torna muito difícil a terceiros descobrir as alterações efetuadas.

 

 

MOD's da Secção 3

 

Mod 8 Ink Effect

Mod 9 SystemUI

 

Para os DIY dos mods desta secção, necessitam ter as aplicações a modificar em formato deodexed

 

Os mod's desta secção, têm para download, um ficheiro de diffs. Fazem o download, descomprimem e comparam as pastas com o WinMerge. A pasta "Ori", contém, os ficheiros da aplicação stock. A pasta "Mod"contem os ficheiros da aplicação modificada. Com o Winmerge, podem ver exatamente as diferenças e o que foi modificado em cada mod.

 

8 - Mod ink effect com.sec.android.visualeffect.jar

 

Este mod permite, ter o efeito de tinta no lockscreen, mesmo ao fazer o desbloqueio com o dedo. Na versão stock apenas é possível ter esse efeito ao desbloquear com a spen

 

Download

MOD odexed

MOD deodexed

Diffs

Instalação:

Descomprimir e colocar em /system/framework. Manter as permissões do ficheiro stock. (As mesmas do Mod1).

Não é possível usar o mod deodexed em roms Odexed. Ficam em Bootloop

 

DIY

Abrir com.sec.android.visualeffect.jar com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Ir a /com/sec/android/visualeffect/rippleink e editar RippleInkRenderer.smali

procurar por:

const/16 v9, 0x4002

imediatamente abaixo, substituir:

if-ne v8, v9, :cond_ca

por:

if-ne v9, v9, :cond_ca

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de com.sec.android.visualeffect.jar e terminamos. A Aplicação com.sec.android.visualeffect.jar está pronta a usar.

 

9 - Mod SystemUI.apk / ext.jar /SecSettings.apk

 

Este mod é a joia da coroa, é igualmente o de mais difícil execução, aqueles que estão a fazer os seus próprios mod's, sugiro que deixem este para o fim Tem as seguintes modificações:

a - Cadeado no canto superior esquerdo para desligar o ecrã

b - Barra de lançamento rápido de aplicações, na status bar. Pode ser editada com esta aplicação

c - Toggle para lanterna

d - Toggle para Modo de rede . Permite mudar a rede de 2g > 3g 4G, com um toque curto no toggle, entre uma serie de modos pré-definidos. Para escolher esses modos, premir longamente o toggle.

 

Ao instalar este mod, não aparecem imediatamente os "Toggles Lanterna, e Modo de Rede", embora estejam disponíveis. Não aparecem porque não estão assinalados para aparecem nas informações do vosso CSC.

É então necessário um ultimo passo:

Instalam um Sqlite Editor. Eu uso este, mas qualquer um serve.

Abrem a aplicação. Na aba APPS, vão a "armazenamento de definições" > Settings.db > System

 

Fazem uma busca por "notification_panel"

Escolhem a entrada "notification_panel_active_app_list_for_reset" no meu, tem a id 251. Editam

o texto que lá encontram, adicionando o seguinte:

Flashlight;GrxToggleModoRed;

Gravam, e Reboot ao telefone. Poderão ter que fazer uma reposição de toggles no painel de notificações

Se acham difícil entender por palavras, têm aqui um vídeo onde está tudo muito bem explicado

 

 

Download

MOD odexed

MOD deodexed

Diffs

Instalação:

Descomprimir e colocar em /system/ Manter as permissões dos ficheiro stock correspondentes. (As mesmas do Mod1).

Não é possível usar o mod deodexed em roms Odexed. Ficam em Bootloop

 

DIY

a - Descompilar SystemUi.apk com apktools. Ir a /res/layout/ e editar statusbar.xml

imediatamente abaixo de:

<com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:ellipsize="none" android:gravity="start|center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" android:includeFontPadding="false" android:paddingStart="6.0dip" systemui:ampmSmall="false" />

inserir esta linha:

<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/back" android:paddingLeft="0.0dip" android:paddingRight="0.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/sysbar_lock" android:contentDescription="@string/accessibility_back" systemui:keyCode="26" systemui:glowBackground="@drawable/ic_sysbar_highlight" />

de seguida, descomprimir este ficheiro e colocar em res/drawable-xxhdpi

Compilar e está pronto a usar.

 

b -  Descompilar SystemUi.apk com apktools. Ir a /res/layout/ e editar statusbar_expanded.xml

Imediatamente abaixo desta linha:

<LinearLayout android:orientation="vertical" android:id="@id/scrollCart" android:layout_width="fill_parent" android:layout_height="wrap_content">

colocar estas 3 linhas:

<HorizontalScrollView android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="wrap_content">
                        <com.android.systemui.statusbar.policy.quicklaunch.QuickLaunchContainer android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" />
                    </HorizontalScrollView>

Compilar e esta parte está pronta a usar.

Em seguida, abrir SystemUi.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Colocar o conteudo deste ficheiro em /com/android/systemui/statusbar/policy/quicklaunch

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SystemUi.apk e terminamos. A Aplicação SystemUi.apk está pronta a usar.

 

c - esta modificação implica alterações em 2 ficheiros, SystemUi.apk e SecSettings.apk

Começemos por SystemUi.apk:

Descompilar SystemUi.apk com apktools. Ir a /res/values/ e editar strings.xml

fazer uma busca por:

<string name="quickpanel_flashlight_text">Flashlight</string>

se não existir, adicionar esta linha ao final do documento, imediatamente antes da ultima linha. Ficará assim:

    <string name="vol_panel_audio_settings">change your audio settings</string>
    <string name="quickpanel_flashlight_text">Flashlight</string>
 </resources>

descomprimimos este ficheiro e colocamos as duas imagens em res/drawable-xxhdpi

Agora, compilamos e esta parte está pronta a usar.

Em seguida, abrir SystemUi.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Colocamos este ficheiro em /com/android/systemui/statusbar/policy/quicklaunch

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SystemUi.apk e terminamos. A Aplicação SystemUi.apk está pronta a usar.

 

Agora vamos a SecSettings.apk

Descompilar SecSettings.apk com apktools. Ir a /res/values/ e editar strings.xml

No final, imediatamente antes de <resources> adicionam uma linha de código. Fica com este aspecto:

	<string name="notification_panel_flashlight">Flashlight</string> 
</resources>

Fazem download deste ficheiro, descomprimem e colocam a imagem em res/drawable-xxhdpi

Compilar e esta parte está pronta a usar.

 

Em seguida, abrir SecSettings.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Ir a /com/android/settings e editar NotificationPanelMenu.smali

Procurar:

.method private makeConvertPanelName()V

No final desta secção, acima de:

    return-void
.end method

adicionar esta linhas:

    iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;

    const-string v1, "Flashlight"

    const-string v2, "notification_panel_flashlight"

    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;

    const-string v1, "notification_panel_flashlight"

    const-string v2, "Flashlight"

    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SecSettings.apk e terminamos. A Aplicação SecSettings.apk está pronta a usar.

 

d - E estamos a chegar ao final da odisseia. Para o final o melhor e mais complexo de todos. Este mod implica alterações em 3 ficheiros:

SystemUi.apk e SecSettings.apk são já esperados.A terceira aplicação a modificar, deveria ser SecPhone.apk, pois é aí que está o código que permite a mudança do modo de rede. No entanto, para alterar esta aplicação seria necessário alterar o androidmanifest.xml.

Esta alteração é dramática. Ao alterarmos uma aplicação de sistema, se não fizermos alterações em androidmanifest.xml, não necessitamos assinar a aplicação depois de compilada, mantemos a assinatura original, mesmo sem sabermos qual é.

Se alterarmos androidmanifest.xml, necessitamos assinar a aplicação com uma chave pessoal, mas a partir desse momento,  o telefone está em bootloop, pos não pode existir mais que uma assinatura nas aplicações de sistema. A solução seria assinar toda as aplicações de sistema com a mesma key. Pouco pratico e não poderíamos passar o mod a ninguém.

Outra possibilidade seria desativar a comprovação de assinatura. Isto faz-se alterando services.jar. Esta medida provoca uma quebra de segurança e uma vez mais, quem quisesse usar este mod teria que usar uma rom sem comprovação de assinaturas. Diga-se de passagem, que muitas custom rom têm esta quebra de segurança.

A solução para o nosso mod, sem ter nenhum destes inconvenientes é não tocar em SecPhone.apk e fazer a alteração em ext.jar, usando uma facilidade que nos permite este ficheiro, que se sobrepõe a outras aplicações de sistema, caso sejam encontrados smalis com o mesmo path. É isso que vamos fazer aqui. Copiamos os ficheiros necessarios para a modo de rede, e colocamos em ext.jar mantendo o path original.

Depois desta introdução, vamos ao mod:

 

Começemos por SystemUi.apk:

Descompilar SystemUi.apk com apktools. Ir a /res/values/ e editar strings.xml

adicionar esta linha ao final do documento, imediatamente antes da ultima linha. Ficará assim:

<string name="gs_etiqueta_toggle_modored">Modo Red</string>
</resources>

descomprimimos este ficheiro e colocamos as duas imagens em res/drawable-xxhdpi

Agora, compilamos e esta parte está pronta a usar.

Contudos temos um passo extra. Embora o ficheiro compilado acima esteja pronto a usar, necessitamos de o descompilar para sabermos as id's geradas durante a compilação das imagens que adicionamos.

Para isso descompilamos e editamos public.xml, localizado em /res/values e buscamos os valores assinalados em baixo:

<public type="drawable" name="grx_toggle_modored_2g" id="0xAAAAAAAA" />
    <public type="drawable" name="grx_toggle_modored_3g" id="0xBBBBBBBB" />
    <public type="drawable" name="grx_toggle_modored_auto" id="0xCCCCCCCC" />
    <public type="drawable" name="grx_toggle_modored_auto4g" id="0xDDDDDDDD" />
    <public type="drawable" name="grx_toggle_modored_dim" id="0xEEEEEEEE" />
    <public type="string" name="gs_etiqueta_toggle_modored" id="0xFFFFFFFF" />

os valores que necessitamos, é aqueles, que no vosso caso, estão no lugar de AAAAAAAA, BBBBBBBBB, CCCDDDDDD, DDDDDDDD,  EEEEEEEE e FFFFFFFF (atenção que estes id's podem ter uma duas ou três entradas)

 

Em seguida, abrir SystemUi.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

descomprimir este ficheiro e colocamos na root do smali descompilado (em /com) e editar GrxToggleModoRedQuickSettingButton.smali:

substituir os AAAAAAAA, BBBBBBBB, CCCCDDDD, DDDDDDDD, EEEEEEEE e FFFFFFFF pelos id's do vosso public.xml

Em seguida, vamos a /smali/com/android/systemui/statusbar/policy(quicksetting e editamos QuickSettingButton.smali:

Abaixo de:

.field mDisplayMetrics:Landroid/util/DisplayMetrics;

colocamos:

.field private mGrxUsarValor:Z

procuramos:

invoke-direct {p0, p1, p2, v1}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

e abaixo desta linha colocamos:

iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mGrxUsarValor:Z

para terminar, procuramos:

.method public getActivateStatus()I
....
...
...
...
.end method

e abaixo colocamos este código:

.method public grx_pon_icono_on(I)V
    .registers 4

    iput p1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mOnIconID:I

    iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;

    invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageResource(I)V

    return-void
.end method

.method public grx_pon_texto(Ljava/lang/String;)V
    .registers 4

    iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnText:Landroid/widget/TextView;

    move-object v1, p1

    check-cast v1, Ljava/lang/CharSequence;

    invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    iput-object p1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mText:Ljava/lang/String;

    return-void
.end method

.method public grx_usar_valor_toggle()V
    .registers 2

    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mGrxUsarValor:Z

    return-void
.end method

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SystemUi.apk e terminamos. A Aplicação SystemUi.apk está pronta a usar.

 

Agora vamos a SecSettings.apk

As modificações neste ficheiro são muito semlhantes às que efectuamos no mod anterior

Descompilar SecSettings.apk com apktools. Ir a /res/values/ e editar stings.xml

No final, imediatamente antes de <resources> adicionam uma linha de código. Fica com este aspecto:

    <string name="notification_panel_grx_modo_red">Modo Red</string>	
</resources>

Fazem download deste ficheiro, descomprimem e colocam a imagem em res/drawable-xxhdpi

Compilar e esta parte está pronta a usar.

 

Em seguida, abrir SecSettings.apk com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Ir a /com/android/settings e editar NotificationPanelMenu.smali

Procurar:

.method private makeConvertPanelName()V

No final desta secção, acima de:

return-void
.end method

adicionar esta linhas:

    iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;

    const-string v1, "GrxToggleModoRed"

    const-string v2, "notification_panel_grx_modo_red"

    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
	
    iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;

    const-string v1, "notification_panel_grx_modo_red"

    const-string v2, "GrxToggleModoRed"

    invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de SecSettings.apk e terminamos. A Aplicação SecSettings.apk está pronta a usar.

 

Agora vamos a ext.jar

Para começar abrir ext.jar (é um ficheiro da framework) com Winrar e extrair classe.dex. Descompilar com smali/backsmali

Descompilamos igualmente telephony-common.jar (também está localizado na framework)

 

- localizamos e copiamos para ext.jar, MATNENDO EXATAMENTE IGUAL O PATH DE telephony_common.jar, os três ficheiros indicados abaixo:
com/android/internal/telephony/gsm/GsmServiceStateTracker.smali
com/android/internal/telephony/gsm/GsmServiceStateTracker$1.jar
com/android/internal/telephony/PhoneBase.smali

 

Neste 3 ficheiros, fazemos as seguintes alterações:

 

editamos PhoneBase.smali

procuramos:

.method private getSavedNetworkSelection()Ljava/lang/String;
...
...
..
.end method

adicionamos:

.method private guarda_modo_red(I)V
    .registers 4
    .param p1, "networkType"    # I

    .prologue
    :try_start_0
    iget-object v0, p0, Lcom/android/internal/telephony/PhoneBase;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    const-string v1, "gk_preferred_network_mode"

    invoke-static {v0, v1, p1}, Landroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
    :try_end_b
    .catchall {:try_start_0 .. :try_end_b} :catchall_b

    :catchall_b
    return-void
.end method

procuramos por:

    invoke-interface {v0, p1, p2}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V

e abaixo desta linha colocamos:

invoke-direct {p0, p1}, Lcom/android/internal/telephony/PhoneBase;->guarda_modo_red(I)V

Agora editamos GsmServiceStateTracker$1.smali:

procuramos:

    invoke-virtual {v4, v5}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V

    .line 492
    :cond_44
    :goto_44

abaixo colocamos este código:

    iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$1;->this$0:Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;

    iget-object v4, v4, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPhone:Lcom/android/internal/telephony/gsm/GSMPhone;

    iget-boolean v0, v4, Lcom/android/internal/telephony/PhoneBase;->mIsTheCurrentActivePhone:Z

    if-eqz v0, :cond_66

    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    const-string v1, "com.grx.ajustes.CAMBIAR_MODO_RED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_66

    const-string v1, "com.grx.ajustes.MODO_RED"

    const/16 v0, 0xff

    invoke-virtual {p2, v1, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    if-eq v0, v1, :cond_66

    :try_start_62
    const/4 v2, 0x0

    invoke-virtual {v4, v1, v2}, Lcom/android/internal/telephony/PhoneBase;->setPreferredNetworkType(ILandroid/os/Message;)V
    :try_end_66
    .catchall {:try_start_62 .. :try_end_66} :catchall_66

    :catchall_66
    :cond_66	

Para terminar (a sério este é o ultimo)

Editamos GsmServiceStateTracker.smali:

procuramos por:

const-string v3, "android.net.conn.TETHER_STATE_CHANGED"

    invoke-virtual {v1, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    .line 775
    :cond_1c4

imediatamente abaixo, colocamos:

    const-string v3, "com.grx.ajustes.CAMBIAR_MODO_RED"

    invoke-virtual {v1, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

Compilamos, com Winrar colocamos o ficheiro classes.dex obtido dentro de ext.jar e terminamos. A Aplicação ext.jar está pronta a usar.

 

E é tudo. Espero que este tutorial estimule a feitura de muitos mod's e caso tenham coisas novas, partilhem aqui, o modo de as fazer.

 

 

 Um grande obrigado a todos, pelo apoio mostrado nos post's abaixo

 

Abraços


Editado por sapec, 27 December 2014 - 14:44.

  • Nuno Ribeiro, salman, TugaPower e 5 outros gostam disto

#2 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

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

Mensagem publicada 09 December 2014 - 11:16

Este é um post a seguir pelos Geek's aventureiros (onde é que eu já li isto?!...), e só quem já se aventurou nestas lides é que sabe o trabalho que isto dá, os erros que surgem do nada, as frustrações e alegria que temos quando conseguimos chegar a bom porto!!!

E fazendo minhas as tuas palavras de há 2 anos atrás, "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"

Obrigado por partilhares e por tornares isto tão simples!

Um abraço.
  • TugaPower, sapec e Rui Luís 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


#3 Rui Luís

Rui Luís

  • Former Staff
  • PipPipPipPipPipPip
  • 3890 mensagens

Mensagem publicada 09 December 2014 - 12:10

Este é um post a seguir pelos Geek's aventureiros (onde é que eu já li isto?!...), e só quem já se aventurou nestas lides é que sabe o trabalho que isto dá, os erros que surgem do nada, as frustrações e alegria que temos quando conseguimos chegar a bom porto!!!

E fazendo minhas as tuas palavras de há 2 anos atrás, "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"

Obrigado por partilhares e por tornares isto tão simples!

Um abraço.

 

Olá.

 

Registei-me no androidPT em 18-04-2014. Já tinha ouvido falar em root e outros, mas nunca prestei atenção a esses assuntos.

 

Num determinado dia e quase assim do nada, comecei a receber ajuda/dicas do nosso amigo @Sapec, e a partir daí nunca mais parei até hoje de evoluir nestas matérias.

 

Como dizes e bem Nuno, esta partilha do Sapec é de um valor incalculável, mas aproveito para dizer que grande parte do que sei hoje devo-o ao Sapec e a ti Nuno.

 

Um grande abraço para os dois, e obrigado pela vossa partilha.


  • Nuno Ribeiro, TugaPower e sapec gosta disto

#4 Hugo Tender

Hugo Tender

    Mestre de Android

  • Administradores
  • 3492 mensagens
  • LocalizaçãoPortugal
  • Motorola Nexus 6 - Midnight Blue - 32GB - 5.1 e Samsung Galaxy Tab S 8.4 (T700) - 16GB - 4.4.2

Mensagem publicada 09 December 2014 - 12:26

Boas,

 

Tópico marcado como fixo.

 

Cumps, Tender


  • TugaPower e sapec gosta disto

Motorola Nexus 6 - Midnight Blue - 32GB - 5.1 Lollipop

Samsung Galaxy Tab S 8.4 (T700) - 16GB - 4.4.2

Antes de iniciares a tua atividade no androidPT, lê as regras com atenção: REGRAS

Chat Gmail do fórum, para ajuda e dúvidas: [email protected]

8AycV.gif


#5 jmcdpereira

jmcdpereira

    Mestre de Android

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

Mensagem publicada 09 December 2014 - 12:29

Eu bem tentei que comprasses um Nexus...


  • TugaPower, sapec e Rui Luís gosta disto

y0gATWN.jpg
OnePlus 2

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


#6 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

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

Mensagem publicada 09 December 2014 - 12:40

Eu bem tentei que comprasses um Nexus...

Ele permaneceu no grupo dos bons!
  • TugaPower, jmcdpereira e Rui Luís 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


#7 TugaPower

TugaPower

    Born in the Wild

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

Mensagem publicada 09 December 2014 - 14:28

Volta Samsung, estas perdoada... :)
Grande tópico do amigo @sapec, como sempre nos habituas-te.

Enviado do meu OnePlus One
  • sapec e Rui Luís gosta disto

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


#8 Rui Luís

Rui Luís

  • Former Staff
  • PipPipPipPipPipPip
  • 3890 mensagens

Mensagem publicada 12 December 2014 - 06:27

Bom dia.

 

Estou a converter os Mod's da versão  XXUFNF4 para a versão XXUGNG1.

 

Quando estiver concluido, vou coloca-los aqui à vossa disposição.

 

Um abraço.


  • Nuno Ribeiro e TugaPower gosta disto

#9 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 13 December 2014 - 10:42

Bom dia.

 

Estou a converter os Mod's da versão  XXUFNF4 para a versão XXUGNG1.

 

Quando estiver concluido, vou coloca-los aqui à vossa disposição.

 

Um abraço.

 

 

Neste momento estamos com um pequeno erro (mas que inviabiliza o uso do mod systemui), num dos mod's. Assim que estiver resolvido, se conseguirmos resolver, coloco aqui todos os mod's.

 

Senão o resolvermos hoje, coloco os que já estão terminados.

 

A versão que estamos a terminar, é apenas para a rom XXUGNG1.Odexed

 

EDIT:

Está terminado e com sucesso. Assim que houver tempo, serão colocados aqui os mod's odexed para a dita rom


Editado por sapec, 13 December 2014 - 18:51.

  • Nuno Ribeiro, TugaPower e Rui Luís gosta disto

#10 Rui Luís

Rui Luís

  • Former Staff
  • PipPipPipPipPipPip
  • 3890 mensagens

Mensagem publicada 13 December 2014 - 22:35

Neste momento estamos com um pequeno erro (mas que inviabiliza o uso do mod systemui), num dos mod's. Assim que estiver resolvido, se conseguirmos resolver, coloco aqui todos os mod's.

 

Senão o resolvermos hoje, coloco os que já estão terminados.

 

A versão que estamos a terminar, é apenas para a rom XXUGNG1.Odexed

 

EDIT:

Está terminado e com sucesso. Assim que houver tempo, serão colocados aqui os mod's odexed para a dita rom

 

Boa noite.

 

Após dois dias de teste à paciência humana, confirmo que tenho todos os mod's convertidos e a funcionar na ROM XXUGNG1.

 

Obrigado @Sapec pela tua ajuda, empenho, e acima de tudo paciência, que pelos vistos é um predicado teu.

 

Este ultimo deixou-me espantado  :P 


  • sapec gosta disto

#11 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 14 December 2014 - 10:34

Olá

 

Neste post estão os mod's 5 a 9 (ver o Post  Inicial para descrição e instruções de instalação dos mod's) para a rom XXUGNG1 Odexed (Rom Stock)

 

Os mod's 1 a 4 não têm versões odexed/deodexed e podem ser usados nesta rom os mod's do post inicial

 

A numeração coincide com a numeração usada no Post Inicial.

 

Estes mod's são apenas para a XXUGNG1 Odexed (stock) para custom rom's baseadas na XXUGNG1, podem usar os mod's deodexed do post inicial

 

5 - Mod da aplicação de mensagens SecMms.apk

http://www.mediafire...r143/SecMms.zip

 

6 - Mod TouchWiz Seclauncher.apk

http://www.mediafire...ecLauncher4.zip

 

7 - Mod câmara  SamsungCamera2.apk

http://www.mediafire...sungCamera2.zip

http://www.mediafire...ia_profiles.zip

 

8 - Mod ink effect com.sec.android.visualeffect.jar

http://www.mediafire...isualeffect.zip

 

9 - Mod SystemUI.apk / ext.jar /SecSettings.apk

http://www.mediafire...ss/SystemUI.zip

 

 

Os agradecimentos destes mod's devem ser feitos ao RoyLoy que fez o Re-Odex de todos os mods para esta rom e ainda algum debug, pois existia um pequeno erro no mod 9 que me tinha passado despercebido


Editado por sapec, 15 December 2014 - 13:42.

  • TugaPower, jogosmadmax e Rui Luís gosta disto

#12 sapec

sapec

    Guru de Android

  • Membros
  • PipPipPipPipPip
  • 1422 mensagens

Mensagem publicada 18 December 2014 - 17:45

O Post inicial está terminado. Por outro lado, um tutorial desta natureza nunca está terminado. Na medida das minhas possibilidades, tentarei fazer as atualizações necessárias, e como é previsível que ocorra, adicionarei novos mod's.

 

Apenas por curiosidade, o OP esteve em edição 11 dias e provavelmente foi editado todos os dias


Editado por sapec, 18 December 2014 - 17:47.

  • Nuno Ribeiro, TugaPower, jogosmadmax e 1 outro gosta disto

#13 Nuno Ribeiro

Nuno Ribeiro

    Mestre de Android

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

Mensagem publicada 18 December 2014 - 17:54

O Post inicial está terminado. Por outro lado, um tutorial desta natureza nunca está terminado. Na medida das minhas possibilidades, tentarei fazer as atualizações necessárias, e como é previsível que ocorra, adicionarei novos mod's.

 

Apenas por curiosidade, o OP esteve em edição 11 dias e provavelmente foi editado todos os dias

 

Obrigado pela qualidade do teu post. Faz lembrar velhos tempos...

 

Um abraço.


  • TugaPower, sapec e Rui Luís 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


#14 salman

salman

    Membro

  • Membros
  • PipPip
  • 43 mensagens
  • samsung galaxy note 3

Mensagem publicada 07 January 2015 - 09:33

Grande trabalho!!


  • TugaPower e Rui Luís gosta disto

Samsung Galaxy Note 3
Rom: EchoeRom V21






Também marcado com uma ou mais destas tags: mods, modding, xxufnf4, odexed, odex, deodexd, adb, smali, backsmali