web-dev-qa-db-fra.com

Android Erreur de la carte SD de l’émulateur: système de fichiers en lecture seule

Je développe sous Android 1.6 (Android SDK 2.1). Je crée un avd en utilisant avd manager dans Eclipse. Lorsque j'ai lancé cet avd, j'ai découvert que le répertoire/sdcard était autorisé "d- -------- ". Je ne peux donc pas envoyer le fichier à la carte SD.

Est-ce que quelqu'un sait comment résoudre ce problème?

68
Leox

J'ai trouvé ça marche

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

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

129
user2002993

Une fois que vous avez démarré l’émulateur à partir d’un shell, connectez-vous à un autre shell et tapez

adb Shell

Vous devriez voir # Prompt Affiché, ceci est votre périphérique (émulateur) Shell. Maintenant, tapez commande suivante à adb Shell.

mount -o remount rw /sdcard

Cela va maintenant remonter /sdcard Avec rw(read-write) permission et vous pouvez maintenant pousser vos fichiers dans /sdcard En utilisant la commande suivante de votre shell hôte.

`adb Push filename.mp3 /sdcard,`

où nomfichier.mp3 peut être n’importe quel fichier dans lequel vous voulez envoyer le fichier dans Android Emulator.

J'espère que cela t'aides :)

48
ashutosh

Assurez-vous de deux choses dans l'utilitaire de gestion AVD pour l'émulateur:

  1. La taille de la carte SD est mentionnée, par exemple. 512.

  2. À partir de la balise Hardware, appuyez sur New et sélectionnez "SD Card Support" dans le menu déroulant.

Maintenant, démarrez l'émulateur. La carte SD doit désormais également prendre en charge l'écriture.

19
Sumit

La version 0.8.9 et ultérieure du studio Android présente un bogue lors de la création de fichiers AVD.

Voir Issue 78434 .

Solution de contournement

  • allez dans votre dossier ADV dans le dossier .Android et trouvez votre fichier config.ini AVD
  • ouvrez-le avec un éditeur de texte pouvant gérer les nouvelles lignes unix. (Le bloc-notes exécute les lignes ensemble car elles ne possèdent pas de CR-LF.)
  • changement hw.sdCard=no à hw.sdCard=yes

cela devrait fonctionner pour tout le monde dans les nouvelles constructions

10
afra mehrparvar

Cela semble peut-être stupide, mais cela a fonctionné pour moi lorsque j'ai eu le même problème: supprimez le fichier avd créé et créez-en un à nouveau via AVD Manager avec une carte SD de, par exemple, 512 Mo.

Vérifiez que les deux disposent des autorisations appropriées et si ce n’est pas le cas, essayez de les modifier avec chmod.

Et si tout échoue encore, répétez le processus en créant manuellement les cartes avd et sd via un terminal:

Android create avd -n my_avd -t 7
mksdcard -l e 512M mysdcard.img
emulator -avd my_avd -sdcard mysdcard.img

J'espère que ça t'as aidé!

7
Edu Zamora

Je pense que le problème ici est que vous oublié de définir la taille de la carte SD

Suivez ces étapes pour le faire fonctionner:

  1. step1: fermer l'émulateur en cours d'exécution
  2. step2: open Android Gestionnaire de périphériques virtuel (barre de menus Eclipse)
  3. étape 3: choisissez votre émulateur -> Edition -> puis définissez la taille de la carte SD

Cela fonctionne bien dans mon émulateur!

6
tan

Assurez-vous que vous avez donné une valeur qui est supérieure à zéro pour taille de la carte SD dans la fenêtre Créer un AVD pour cet utilisateur particulier. émulateur.

4
Dipin

mount -o remount, rw/sdcard

c'est la bonne façon de remonter votre carte SD à l'aide de votre émulateur.

3
teddy

J'ai essayé @ user2002993 une aide précieuse, mais il faut un peu éditer un endroit. J'ai donc édité et voici ce qui a fonctionné pour moi sur Android Studio, émulateur Android 5.

Allez dans votre dossier adb, faites un clic droit sur la zone vide et sélectionnez "ouvrez la fenêtre de commande ici" ou si vous avez installé adb par adb-installer, ouvrez cmd et tapez ces commandes:

adb devices

Il devrait indiquer le numéro et les détails de votre émulateur. Puis suivi la commande ici:

adb Shell

Maintenant, il devrait vous montrer l'invite

su

mount -o rw,remount rootfs

chmod 777 /mnt/sdcard

exit

exit

Oui, double sortie nécessaire, votre invite d'invitation Shell est partie. Mettez un fichier dans votre dossier adb et donnez cette commande et voyez si elle est corrigée.

adb Push "your file name like : 1.jpg" /sdcard/

ou

adb Push "your file name like : 1.jpg" /storage/sdcard/

Maintenant, dans cmd, il devrait vous montrer le temps de transfert au lieu d'une chose effrayante en lecture seule ????

2
afra mehrparvar

J'ai augmenté la mémoire virtuelle de sdcard jusqu'à 512 Mo pour l'émulateur et cela suffisait

2
user2604908

Je suppose que vous n’avez pas inséré de taille de mémoire au moment de la création de avd. vous pouvez le faire en modifiant le fichier avd. screenshot

1
Suresh Sharma

J'ai eu ce problème sur Android L aperçu du développeur, et, au moins pour cette version, je l'ai résolu en créant une carte sdcard de taille 2 (par exemple, 128M, 256M, etc.).

0
Eli

Essayez ceci dans un émulateur de terminal en tant que root:

restorecon -v -R /data/media
0
intrepidis
  1. Donnez n'importe quelle taille à Sdcard dans Emulator
  2. décoché l'option de lecture seule de c:\utilisateur ... Android\avd -> propriétés
  3. Poussez un fichier dans l'explorateur de fichiers
  4. redémarrer l'émulateur

Cela fonctionnera certainement

0

Dans adb version 1.0.32 et Eclipse Luna (v 4.4.1).

J'ai trouvé un répertoire dans avd/mnt/media_rw/sdcard que vous pouvez écrire en utilisant la commande adb. Push adb {source}/mnt/media_rw/sdcard

Il semble y avoir un accès direct à ce répertoire.

J'espère que cela t'aides :-)

0
gregrobinz

assurez-vous que vous disposez des autorisations appropriées.

<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" /> 
0
esse

cela peut parfois être dû à une raison très simple: accédez à votre liste dans Eclipse et vérifiez si vous avez défini la taille de la carte SD.

0
user1347778

Windows utilise des barres obliques inverses, Linux utilise des barres obliques ascendantes.

0
nomapp

Autre moyen: démonter le lecteur (à partir des paramètres/stockage) et remonter la carte sd corrige également le problème. (vérifiez en déplaçant un fichier de la mémoire interne vers la carte mémoire) Dans tous les cas, cette méthode simple a sauvé mon cul cette fois :)

0
Raymond Fraikin

Avec moi à la fin aidé dans l'émulateur pour exécuter le gestionnaire d'applications et la définition des autorisations pour le stockage.

0
momik bęc