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?
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
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 :)
Assurez-vous de deux choses dans l'utilitaire de gestion AVD pour l'émulateur:
La taille de la carte SD est mentionnée, par exemple. 512.
À 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.
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
hw.sdCard=no
à hw.sdCard=yes
cela devrait fonctionner pour tout le monde dans les nouvelles constructions
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é!
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:
Cela fonctionne bien dans mon émulateur!
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.
mount -o remount, rw/sdcard
c'est la bonne façon de remonter votre carte SD à l'aide de votre émulateur.
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 ????
J'ai augmenté la mémoire virtuelle de sdcard jusqu'à 512 Mo pour l'émulateur et cela suffisait
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.
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.).
Essayez ceci dans un émulateur de terminal en tant que root:
restorecon -v -R /data/media
Cela fonctionnera certainement
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 :-)
assurez-vous que vous disposez des autorisations appropriées.
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
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.
Windows utilise des barres obliques inverses, Linux utilise des barres obliques ascendantes.
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 :)
Avec moi à la fin aidé dans l'émulateur pour exécuter le gestionnaire d'applications et la définition des autorisations pour le stockage.