sábado, 22 de outubro de 2011

[TUTORIAL] Apps2SD - apps no SD - metodo alt.

APPS2SD - Método alternativo

Galera, todos sabemos que a quantidade de memória livre para instalação de apps no celular é bem pequena. Sentimos isso principalmente quando instalamos jogos pesados ou apps que necessitam de grande volume de dados.

Nesta comunidade e em todos os fóruns do mundo existem diversas maneiras de fazer o tão falado "apps2sd", que consiste em enganar o sistema do android para que ele passe a instalar as apps no cartão de memória.

No entanto, decidi criar um método alternativo, escrevendo um shellscript que automatiza todo o processo. A vantagem desse shellscript é que ele não exige uma rom especial para funcionar e funciona em todas as versões do Android e em qualquer aparelho.

O script começou na versão 1.0, bem simples, e movia somente a pasta de apps normais (user apps). Depois este tópico chegou a quase 500 posts e, com a ajuda de todos os que utilizaram, o script já evoluiu para 1.1.3 e hoje já move o cache, as user apps, as private apps (aplicações internas do sistema android) e , caso o usuário queira, move também a pasta de dados (somente recomendado para sdcards rápidos, de level 6 para cima)

O que você fará neste tutorial

Seguindo este tutorial, você:

1. Irá aprender a "quebrar" seu microSD em dois pedaços. Um, com uma partição FAT32 normal, para os dados normais. O outro pedaço, com uma partição ext2 (linux) que servirá para abrigar os dados redirecionados por este procedimento;

2. Irá aprender a em entrar no seu milestone através da ferramenta ADB (android debug bridge) e a dar comandos linux no terminal dele;

Parte 1. Particionando seu cartão SD


Então... esta tem se revelado, em todos os tutoriais, a parte mais difícil. Por isso, sendo que ela é a parte que gera mais dúvida, escrevi um tutorial à parte só pra ela, separado, que em tese deve se tornar universal na comu :

Portanto, antes de continuar aqui, faça primeiro este tutorial de particionamento aqui.

Depois, volte aqui para a parte 2.

Parte 2. Baixando os arquivos necessários

Se você já voltou aqui, é sinal de que já passou pela parte mais complicada. Você vai ver, daqui pra frente é um tapa !

Bom, agora precisamos baixar os arquivos necessários para que você consiga realizar o restante do processo. Vamos a eles:

A) ADB files - permitirão que você entre no celular via linha de comando linux
B) Pacote apsd_evan versão 1.1.3 - contém todos os arquivos necessários para realizar o procedimento

Uma recomendação é que você crie uma pasta no lugar que fique mais fácil para você acessar (sugiro o desktop) e coloque tudo lá. 

Parte 3. Instalando a ferramenta ADB

Em muitos lugares por aí tenho visto o pessoal baixando todo o SDK do Android apenas para utilizar o ADB. Isso é totalmente desnecessário! O ADB, pra rodar, só necessita de seu próprio executável e de sua DLL.

E outra, da maneira que vou explicar aqui, funciona a partir de qualquer parta onde você chamar o prompt de comando. Vamos lá.

Método 1 (recomendado)


Descompacte o arquivo adb.rar que você baixou no passo anterior, e coloque os dois arquivos que estão dentro dele na pasta

c:\windows\system32


e pronto! De onde quer que você chame, o adb irá funcionar.

Método 2 (se o primeiro não der certo por motivos de permissão)


Geralmente o método 1 não funciona em alguns sistemas. Se esse for seu caso, não se preocupe. Descompacte os dois arquivos na pasta raiz do sistema então ("c:\" na maioria das instalações windows)

Com isso, estamos prontos para o passo 4.

Parte 4. Colocando os arquivos necessários no sdcard

Vá no seu milestone, em

Configurações -> Aplicativos -> Desenvolvimento

e ative a Depuração USB

Isso é extremamente importante, pois em modo de depuração o milestone é mais tolerante a "futricações" no seu sistema.

Em seguida , pegue o cabo do seu milestone e conecte seu aparelho no computador em modo GERENCIAMENTO DE CARTÃO DE MEMÓRIA.

Pegue o arquivo apsd_evan_v_1_1_3.rar que você baixou, e descompacte na raiz do sdcard.

Isso feito, vamos ao parte 5. 
 
Ok. Tudo feito até agora, vá no seu milestone, e mude o modo de conexão para

PHONE PORTAL


Por que ? Porquê se você tentar fazer esta parte do tutorial em outro modo, como por exemplo no modo "gerenciamento de cartão de memória", o milestone trava o acesso ao cartão e ele não pode ser lido de dentro do linux. Costuma funcionar também no modo "nenhum", mas o mais garantido mesmo é o PHONE PORTAL.

Colocou em modo portal, CERTIFIQUE-SE que ele está REALMENTE em modo portal (em algumas ocasiões pode mudar pra windows media sync dependendo da configuração do seu computador em relação ao milestone).

Bom, com a depuração usb ativada, milestone conectado no computador em modo PHONE PORTAL, podemos continuar.

Entre no prompt de comando. Geralmente é em "Iniciar -> executar ->" aí você digita "cmd". Depende do sistema, mas a idéia é essa. Vai entrar naquela "tela preta" onde você digita comandos do dos.

IMPORTANTE:


Se você conseguiu colocar os arquivos na pasta c:\windows\system32 (método 1), pode entrar no prompt sem ligar para a pasta onde você está. Mas se estiver pelo método 2, você tem de ir para o prompt, e depois ir para a raiz do sistema com o comando:

cd /

Bom, agora estamos perto do final.

No prompt de comando, digite :

adb shell

Se esta for a primeira vez que você estiver rodando o adb nesta sessão do windows hoje, ele vai dizer que o "daemon not running" etc... . Não ligue pra isso. Espere até acabar. Se deu tudo certo, vai aparecer pra você o prompt normal do shell do android linux:

$


E é neste ponto então que você digita

su

sempre se lembrando de dar enter após cada comando.

IMPORTANTE

se você estiver fazendo este tutorial logo depois de ter "rootado" seu milestone, ou, se esta é a primeira vez que você está entrando no shell do android com permissão de superuser, então ele ainda não vai estar na "superuser whitelist". Preste então atenção à tela do seu milestone e quando ele perguntar, aperte "always". Se esse for o seu caso, você vai digitar "su" novamente. Senão, pode prosseguir.

Agora digite

sh /sdcard/apsd_evan.sh


E pronto! A partir daqui, o script é automático e fará tudo sozinho.

E, ao fim do processo, você pode rebootar seu telefone e verificar quanta memória você conseguiu liberar.

DISCLAIMER:

COMO TODO TUTORIAL QUE MEXE DENTRO DO MILESTONE, ESTE PROCEDIMENTO PODE CAUSAR TRAVAMENTO DO SEU APARELHO SE ALGO DER ERRADO. NÃO SE ESQUEÇA DE FAZER UM BACKUP DE TODAS AS SUAS APPS E CONFS ANTES DE FAZÊ-LO. NÃO ME RESPONSABILIZO POR EVENTUAIS PROBLEMAS CAUSADOS, FAÇA O TUTORIAL POR SUA CONTA E RISCO.

.
Mas estarei aqui pra ajudar de qualquer forma
.
ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO ATENÇÃO

Estou desenvolvendo a versão 1.2 do shellscript. Ele detectará se você já tem apps2sd feito para evitar problemas de sobreposição. Mas esta versão ainda não faz essa verificação, portanto, se você já tem apps2sd feito, dê um flash no seu milestone antes de fazer este método. Um apps2sd em cima do outro dá pepino.
Meu milestone com 90 e tantas apps, ANTES de aplicar o shellscript
.
Meu milestone, com a mesma quantidade de apps, DEPOIS de aplicar o shellscript
.
Após o boot, verificando se tudo está certo:
Digitando o comando 'df' vc deverá ver esse resultado aqui (o mais importante é se a pasta sd_data está ali (seta vermelha)
 

Listando o conteúdo da pasta /data (ls -l /data) você verá esta imagem aqui. No meu caso, eu movi o dalvik-cache, as apps internas e as user apps. Sua tela pode ser diferente dependendo do que você moveu. Repare que os símbolos "->" indicam que foram criados "links" apontando as pastas que originalmente ficam na memória interna, pra pasta sd_data - que está montada no cartão.

.
O comando 'mount' mostra as partições atualmente montadas no milestone. Repare na seta, no seu, isso deverá aparecer também. 
 
 
 

 
 

Nenhum comentário:

Postar um comentário