Si vous attachez Android au PC, vous pouvez parcourir les fichiers et les répertoires. Il est possible d'obtenir ce répertoire en utilisant Environment.getExternalStorage()
. Vous pouvez l'utiliser à partir de votre application et créer des fichiers accessibles et dirs. Cela fonctionne très bien.
Sur mes appareils, ce chemin ressemble à /storage/emulated/0
et si j'essaye adb Push
dans ce répertoire, j'obtiendrai une erreur d'accès refusé. Est-il possible de copier des fichiers en utilisant adb
dans le même dossier que l'explorateur Windows?
D:\...\tools>adb Push ACCOUNTS.DB /storage/emulated/0
failed to copy 'ACCOUNTS.DB' to '/storage/emulated/0': Permission denied
58969 KB/s (606505 bytes in 0.010s)
J'implémente l'importation/exportation automatisée et je souhaite que les fichiers soient accessibles sans adb Shell
en cas de problème.
Utilise actuellement variable$EXTERNAL_STORAGE
comme solution de contournement, cela fonctionne à la fois pour adb
et pour l'application.
Appareil: Asus Fonepad 7, Android 5.0, essayé Genymotion Custom Tablet 6.0 - fonctionne.
Essayez d'utiliser /sdcard/
. Bien qu'il soit fortement déconseillé de le faire dans code. Cela semble être le seul moyen avec adb:
$ adb Push somefile /storage/emulated/0/somefile
[100%] /storage/emulated/0/somefile
adb: error: failed to copy 'somefile' to '/storage/emulated/0/somefile': Read-only file system
$ adb Push somefile /sdcard/somefile
[100%] /sdcard/somefile
Soit dit en passant, sur mon appareil, ils n'ont pas la même valeur: Environment.getExternalStorage()
pointe vers /storage/emulated/0/
Tandis que /sdcard
Pointe vers /storage/emulated/legacy
.
C'est assez simple, le stockage interne n'est pas disponible sur les appareils non rootés. Donc, comme cela a été mentionné dans réponse bwt il vous suffit de pousser vos données vers la carte SD:
adb Push somefile /sdcard/somefile
Avec la récupération de fichiers de votre système de fichiers, vous aurez également quelques problèmes. Mais avec le cas de l'extraction d'une base de données à partir d'une application de débogage - vous aurez juste besoin de modifier l'autorisation de fichier via chmod
. Ici, vous avez un lien utile - les gars de XDA sur adb