Ir para conteúdo



Foto

Usando o Terminal (linux) para mover apk


  • Por favor, faça o login para responder
39 respostas neste tópico

#1

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 14 Abr 2013 - 16:16

Olá pessoal,
Primeiramente estou usando os comandos de linux para poder mover algumas apk's para o SD Externo no qual tenho 16GB livre e com isso criar um link para que sempre que houve modificações ele faça direto no SD Externo.

Estou usando o app "terminal" no qual eu abaixei do google play mas ele não está reconhecendo o comando cp.

Aparece o erro:
sh: cp: not found 


Estou fazendo as seguintes ações:

$ su 
# mkdir /mnt/extSdCard/app
# cp -p /data/app/com.waze-1.apk /mnt/extSdCard/app/com.waze-1.apk
# rm /data/app/com.waze-1.apk
# ln -s /mnt/extSdCard/app/com.waze-1.apk  /data/app/com.waze-1.apk
*Os comando acima não estão errados.
** Caso tenham dúvida eu faço um comentário em cada comando.

Segue o print dos caminhos abaixo:

* apk que seja movido.



Pasta aonde será movido:



Como podem ter visto deu um ls para mostrar que não tem nada na pasta.

Alguém teria algum outro terminal que eu possa fazer isso no meu DUOS?

Arquivo(s) anexado(s)




#2

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 14 Abr 2013 - 17:29

A questão não é o terminal, se não está dando o comando cp , confere se está com busybox instalado corretamente, por exemplo ao invés de dar o comando cp "puro" , faz busybox cp ... , busybox ls ... , busybox ln ... .

Se não funcionar com busybox antes do comando então baixe e instale/reinstale o busybox diretamente do Google Play Store, ele tende a criar os comandos acima linkados ao busybox de forma que não vai precisar usar o busybox como prefixo e usar o script acima que citou sem qualquer alteração .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#3

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 15 Abr 2013 - 00:06

Aparentemente está funcionando os comandos após a instalação do busybox.
Só uma pergunta, movendo os .apk irá modificar o local aonde o app armazena os dados?
Se não, seria mais interessante fazer um link simbólico do local onde o app armazena, ou você discorda seiken ?

#4

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 15 Abr 2013 - 03:53

Modifficar o APK não modifica onde ele armazena os dados ..

Veja no link abaixo um exemplo sobre tanto o APK quando os dados do APK, usando como exemplo o aplicativo o Zello .

http://www.plusgsm.c...-4#post-1192778
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#5

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 15 Abr 2013 - 21:45

Certo seiken, pelo que eu entendi tenho que criar uma partição no meu SD Externo em EXT2/EXT3/EXT4

Usando:
mount -w -t ext3 /dev/block/mmcblk0p2 /mnt/sd-ext  

O -w significa montar com acesso a escrita, o -t ext3 é o sistema de arquivos, o /dev/block/mmcblk0p2 é a partição ( 2ª ) que está o ext3 e/mnt/sd-ext o local onde os arquivos da partição serão acessados.

Conforme escrito no #26.

Esses comando funcionam no DUOS?

#6

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 15 Abr 2013 - 21:57

Não estou me referindo ao post #26 , não tem nada sendo movido nele, nem tem nada sobre o Zello nele , e ele nem está na página do link que eu passei .

O link que eu passei leva diretamente ao post que estou me referindo, o post #38 .

E também é um exemplo, deve aprender o que está descrito nele e aplicar conforme sua necessidade .

Não use a tag strike " [ s ] " , ela corta as letras no meio . Normalmente se usa strike para indicar que está corrigindo um erro no texto .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#7

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 16 Abr 2013 - 22:35

O posto #38 está conforme a abertura dessa tópico, de como mover e criar um link.
A ideia seria exatamente essa, mas mesmo dando "su" aparece a mensagem: "permissão negada."
meu aparelho está rooteado.

Então, tenho que criar uma partição em ext4 para mover , correto?
Se sim, qual seria o comando para montar essa partição?

*Peço desculpas pelo strike.

#8

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 16 Abr 2013 - 23:53

O root é a substituição do su original por outro que ao invés de pedir a senha ou dar permissão negada, chama o Superuser/supersu para saber se tem permissão ou perguntar na janela .

Se o su está dando "permissão negada" os outros comandos não vão funcionar como privilégios de root.

Pode acontecer de ter mais de um su no aparelho, de forma que ao chamar sem indicar qual venha o su original e não o rooteado .

Vai no Superuser/Supersu e atualiza o binário su , se permanecer dando erro não adianta prosseguir que não vai funcionar .

Sobre o post #26 para montar tem de conhecer o block device, o mountpoint e o filesystem . A forma como tiver particionado o cartão influencia no block device, a formatação no filesystem , e você quem escolhe em qual diretório vai usar como mountpoint .

Veja o comando mount sem parâmetros, vai indicar o que precisa para você mesmo montar , ou pelo menos me mostra o resultado, senão não tem como eu adivinhar como você particionou o cartão.
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#9

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 17 Abr 2013 - 10:35

Desculpa, me expressei mal.
o "su" funciona corretamente.
Ao tentar mover do SD para o SDExterno acontece a permissão negada.

Segue as informações do mount (sem parâmetros):

Arquivo(s) anexado(s)



#10

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 17 Abr 2013 - 11:56

Na imagem acima viu que o primeiro parâmetro é o block device , o que interessa é o que está no cartão microSD , então as partições são definidas em /dev/block/vold . A primeira é 179:33 , veja em /dev/block/vold quais as outras partições, vamos exemplificar que seja 179:34 a partição que tenha feito dedicada para mover aplicativos .

Também tem casos que não é /dev/block/vold , mas outro block device , por exemplo /dev/block/mtdblk0p2 , onde o mtd significa a tecnologia do SDCard, blk dispositivo de blocos, o 0 significa unidade de cartão zero e 2 significa segunda partição . A unidade de cartão microSD começa a contar do zero, a partição começa a contar do 1 , que normalmente é a partição FAT32 que o Windows lê .

Então veja no seu aparelho quais opções tem em /dev/block/ porque são todas as partições que o Kernel detectou que existem .

Na imagem acima o segundo parâmetro é o diretório onde a partição vai ficar disponível. Essa é você que escolhe onde vai montar a partição, a primeira partição está montada em /mnt/ExtSdCard , então vamos exemplificar que seja /mnt/ExtSdCard2 , se não existir o diretório deve criar antes de montar , por exemplo :

mkdir /mnt/ExtSdCard2
.

Também precisa informar qual o tipo de sistema de aquivos formatou a partição , se é EXT2, EXT3, EXT4 ou FAT32 por exemplo. No caso do FAT32 no Linux e Android o tipo é vfat, o tipo é sempre minúsculo , além de que deve ter suporte a ele no Kernel, que você confere se tem ou não abrindo para ver o arquivo virtual em /proc/filesystems . Vamos exemplificar que seja EXT4

Se o exemplo for exatamente esse caso , o comando para montar seria:

mount  -w  -t  ext4 /dev/block/vold/179:34 /mnt/ExtSdCard2

ou se não for em vold e sim em mtdblk0 :

mount  -w  -t  ext4 /dev/block/mtdblk0p2 /mnt/ExtSdCard2

Deve ir montando e verificando se encontra a partição vazia que particionou e formatou .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#11

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 18 Abr 2013 - 00:23

Essa indicação 179:34 seria o endereçamento?

Tente criar umas pasta:
mkdir /mnt/extSdCard2



Dei um list para certificar que não existe nenhuma outra pasta com este nome:



Queria deixar um espaço para o extSdCart com 6GB
e o restante 8,8GB para o extSdCard2.

Tentei dando um su antes do mkdir também não consegui.

Arquivo(s) anexado(s)



#12

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 18 Abr 2013 - 01:05

Pesquise no fórum como resolver o problema da /system estar em modo Read-Only e como remontá-la em modo Read and Write .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#13

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 20 Abr 2013 - 17:34

Conforme li, tenho que utilizado o adb shell.
Fiz o download em adbshell.com



Comando usado deixar como R/W (Read and Write)
mount -o rw,remount /system

Só que não deu certo.
Continua dando a mesma mensagem:
mkdir failed for extSdCard2, Read-only file system

Arquivo(s) anexado(s)



#14

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 20 Abr 2013 - 18:20

Se continua com Read-only file system o re-mount não funcionou .

Pela imagem que passou não daria para dar o comando acima com sucesso, porque precisa de root para montar e desmontar filesystems, o prompt $ significa que não está com root .

Outro detalhe estranho é que ao dar o ADB costuma postar o servidor ADB inicializando, tem certeza que esse adb que está usando funciona ? Eu não conheço-o .

Procure o ADB de algum tutorial de Android .

Uma outra dica, procure e instale o APK Root Explorer ( é pago ) , nele ao entrar em /system aparece um botão em cima para remontar em modo RW

Só preste atenção que o botão sempre vai mostrar a mudança que acontece se clicar nele, ou seja se o botão estiver mostrando RW é porque o /system está em RO , se mostrar RO é porque já está em RW .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#15

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 20 Abr 2013 - 21:25

Eu não havia dado "su".



Tentei executar o cmd como administrador, e deu a mesma mensagem de erro.
Tentei procurar outra fonte, só achei o link direcionando para esse adb, ate fóruns gringos mencionam ele.

Se funciona realmente o ADB eu não sei te informar.
Esse são os arquivos que estão na pasta /adb/


Achei o APK Root Explorer na versão 2.20 de graça na web.
instalei e criei uma pasta pelo próprio APK Root Explorer



Minha dúvida seria o tamanho das partições.
A minha intenção e deixar:
extSdCard com 6GB
extSdCard2 com 8,8GB


Ate porque a câmera utiliza a extSdCard.

Arquivo(s) anexado(s)



#16

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 20 Abr 2013 - 22:06

Pense sobre qual partição está montando em modo RW , e qual partição está querendo gravar .

O tamanho da partição do cartão microSD é fixo e depende de quanto deixou quando particionou, por exemplo pelo MiniTool Partition Wizard .

Então a questão é somente montar o block device certo no diretório certo .

Se tiver dúvidas, monta e usa o comando df para saber o tamanho da partição que foi montada no diretório, se não for da forma como quer, desmonte e monte a outra.

Suponho que seu cartão microSD não deve ter nem somente uma partição, nem mais que 3 partições .

Depois que achar qual block device pertence a qual diretório , anote e procure algum dos scripts de inicialização e coloque o comando mount nele.
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#17

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 21 Abr 2013 - 12:34

O problema que para criar uma partição pelo MiniTool Partition, eu preciso de selecionar a partição.
O DUOS não fica atribuído em uma unidade quando conecta via USB.

Para entender melhor:






Apenas criei uma pasta chamada extSdCard2 até o momento.
mkdir /mnt/extSdCard2

Arquivo(s) anexado(s)



#18

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 21 Abr 2013 - 12:56

O Windows sozinho não reconhece partições EXT2/EXT3/EXT4 . O MiniTool Partition Wizard reconhece e formata, mas mesmo depois disso a partição continua sem poder ser usada pelo Windows .

Na segunda imagem não está aparecendo o cartão microSD, pode usar um leitor de cartão microSD e ligar o cartão por ele direto na USB do PC , sem envolver o aparelho , então reparticionar pelo MiniTool .

De qualquer forma só precisa reparticionar o cartão microSD se ele não tiver com o tamanho das partições dimensionado da forma como quer, se já tinha particionado antes e estiver satisfeito com o tamanho que colocou então use a partição EXT que criou .
Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.

#19

xstocler

    Membro Júnior

  • Membros
  • PipPipPip
  • 123 posts

Postado 21 Abr 2013 - 13:51

Certo.
Não tenho o leitor de cartão microSD.
Logo, fica meio que impossível fazer esse reparticionamento.
Não tem como fazer via comandos no console do aparelho o reparticionamento do extSdCard?

Não montei nenhuma partição até agora.

#20

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 21 Abr 2013 - 14:17

Tem o fdisk , funciona pelo terminal, porém ao contrário do MiniTool Partition Wizard ele não redimensiona partições, só funciona em modo destrutivo, tem de salvar tudo do cartão para o PC, particionar , formatar ambas e voltar o backup .

É mais ou menos um procedimento parecido com esse ( 110 segundos em diante ):


Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.