Erro de envio sdcard do emulador Android: sistema de arquivos somente leitura

Estou desenvolvendo no Android 1.6 (Android SDK 2.1). Eu crio um avd usando o avd manager no Eclipse. Quando eu lanço este avd, descobri que a permissão do diretório / sdcard é “d ———“. Então eu não posso enviar o arquivo para o sdcard.

Alguém sabe como resolver esse problema?

Eu encontrei isso funciona

$./adb shell $su mount -o rw,remount rootfs / chmod 777 /mnt/sdcard exit 

Fonte: http://www.coderanch.com/t/611842/Android/Mobile/Android-emulator-sdcard-writable

Depois de iniciar o Emulador a partir de um shell, faça o login em outro shell & type

 adb shell 

Você deve ver # prompt exibido, este é o seu shell de dispositivo (emulador). Agora, digite o seguinte comando no shell adb.

 mount -o remount rw /sdcard 

Isto irá agora remontar o /sdcard com a permissão rw(read-write) e agora você pode enviar seus arquivos para /sdcard usando o seguinte comando do seu shell de host.

 `adb push filename.mp3 /sdcard,` 

onde filename.mp3 pode ser qualquer arquivo que você queira enviar para o emulador Android.

Espero que isto ajude 🙂

Certifique-se de duas coisas no utilitário gerenciador AVD para o emulador:

  1. O tamanho do cartão SD é mencionado, por exemplo, 512.

  2. Na etiqueta Hardware, pressione Novo e selecione “Suporte a cartão SD” no menu suspenso.

Agora, inicie o emulador. O cartão SD agora também suporta a escrita.

A versão de estúdio do Android 0.8.9 e superior tem um erro ao criar AVDs.

Consulte a edição 78434 .

Solução alternativa

  • vá para a sua pasta ADV na pasta .android e encontre o seu AVD config.ini
  • abra-o com um editor de texto que possa manipular novas linhas unix. (O bloco de notas executará as linhas juntas, já que elas não possuem CR-LFs.)
  • mudar hw.sdCard=no para hw.sdCard=yes

isso deve funcionar para todos em novas construções

Talvez pareça estúpido, mas funcionou para mim quando tive o mesmo problema: excluir o avd criado e criar um novamente através do AVD Manager com um cartão SD de, por exemplo, 512MB.

Verifique se ambos têm as permissions corretas e, caso contrário, tente alterá-las com chmod.

E se tudo falhar, repita o processo, mas crie manualmente o cartão avd e o sd via terminal:

 android create avd -n my_avd -t 7 mksdcard -le 512M mysdcard.img emulator -avd my_avd -sdcard mysdcard.img 

Espero que ajude!

Eu acho que o problema aqui é que você esqueceu de definir o tamanho do cartão SD

Siga estas etapas para que funcione:

  1. passo 1: feche o emulador em execução
  2. step2: abra o Gerenciador de dispositivos virtuais do Android (barra de menus do eclipse)
  3. step3: escolha o seu emulador -> Editar -> depois defina o tamanho do cartão SD

Isso funciona bem no meu emulador!

Certifique-se de que você forneceu um valor maior que zero para o tamanho do cartão SD na janela Create AVD para esse emulador específico.

montar -o remontar, rw / sdcard

esta é a maneira correta de remontar seu sdcard usando seu emulador.

Eu aumentei a memory virtual do sdcard até 512 MB para o emulador e isso foi o suficiente

eu tentei @ user2002993 grande ajuda, mas um lugar que ele precisa para ser um pouco de edição, então eu editado e aqui o que funcionou para mim no estúdio android, emulador android 5. vá para a pasta adb, clique com o botão direito do mouse na arena em branco e selecione “opne command window here” ou se você instalou adb pelo adb-installer abra o cmd e digite esses comandos (para não interpretar mal eu fiz o comando BOLD)

dispositivos adb

“ele deve mostrar o número do seu emulador e os detalhes. Depois, siga o comando aqui:”

concha adb

“agora ele deve mostrar u prompt #”

su

montar -o rw, remontar rootfs

chmod 777 / mnt / sdcard

Saída

Saída

sim saída dupla necessária .. agora o seu prompt de shell adb se foi. coloque um arquivo na sua pasta adb e dê este comando e veja se ele foi consertado

adb push “seu nome de arquivo como: 1.jpg” / sdcard /

ou

adb push “seu nome de arquivo como: 1.jpg” / storage / sdcard /

agora no cmd ele deve mostrar o tempo de transferência em vez de uma coisa só de leitura assustadora 🙂

Certifique-se de ter as permissions corretas.

  

Eu acho que você não inseriu o tamanho da memory no momento da criação do avd. você pode fazer isso editando o avd. captura de tela

O Windows usa barras invertidas, o linux usa barras.

às vezes isso pode causar uma razão muito simples, vá para sua lista no eclipse e verifique se você definiu o tamanho do SDCard

Eu tive esse problema na visualização do desenvolvedor do Android L e, pelo menos para essa versão, resolvi-o criando um sdcard com um tamanho que tinha o tamanho de quadrado 2 (por exemplo, 128M, 256M, etc.)

No adb versão 1.0.32 e no Eclipse Luna (v 4.4.1).

Eu encontrei um diretório no avd / mnt / media_rw / sdcard que você pode escrever usando o comando adb. adb push {source} / mnt / media_rw / sdcard

Parece haver access rw a esse diretório.

Espero que isto ajude 🙂

Maneira alternativa: desmontar a unidade (de configurações / armazenamento) e montar novamente o sdcard também corrige o problema. (verificar, movendo um arquivo do armazenamento interno para sdcard) Em qualquer caso, este método simples salvou minha bunda desta vez 🙂

  1. Dê qualquer tamanho ao Sdcard no emulador
  2. desmarcada a opção somente leitura de c: \ user … android \ avd -> properties
  3. empurrar um arquivo através do explorador de arquivos
  4. reinicie o emulador

Vai definitivamente funciona

Comigo no final ajudou no emulador para executar o gerenciador de aplicativos e definir permissions para armazenamento.

Tente isso em um emulador de terminal como root:

 restorecon -v -R /data/media 
    Intereting Posts