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