10 votes

Comment puis-je déterminer le répertoire de stockage à partir d'ADB ?

Existe-t-il un moyen d'utiliser ADB pour déterminer le répertoire de stockage externe (équivalent de l'appel de l'API Android Environment.getExternalStorageDirectory() ) ?

14voto

Matthew Read Points 50150

adb shell echo $EXTERNAL_STORAGE . Tout le mérite en revient à Flow qui m'a amené à expérimenter et à trouver ceci.

Naturellement, vous pouvez utiliser cd $EXTERNAL_STORAGE ou tout ce dont vous pourriez avoir besoin pendant une session du shell adb ou depuis un émulateur de terminal.

6voto

Flow Points 18254

Je ne pense pas que ce soit possible. Voir Le poste de Matthew

Mais jetons un coup d'œil sur comment Environment.getExternalStorageDirectory() renvoie le répertoire de stockage externe. Un coup d'œil rapide dans android/os/Environment.java montre que tout ce que fait cette méthode, c'est de renvoyer une constante statique membre du fichier appelée EXTERNAL_STORAGE_DIRECTORY . Cette constante est initialisée par

private static final File EXTERNAL_STORAGE_DIRECTORY
        = getDirectory("EXTERNAL_STORAGE", "/sdcard");

qui appelle getDirectory()

static File getDirectory(String variableName, String defaultPath) {
    String path = System.getenv(variableName);
    return path == null ? new File(defaultPath) : new File(path);
}

Le répertoire de stockage externe n'est donc rien d'autre qu'une variable d'environnement du système java (ou une valeur par défaut prédéfinie). Vous pouvez essayer de suivre cette trace plus loin. Peut-être que le répertoire de stockage externe est juste un chemin codé en dur dans un fichier de configuration du système de fichiers. Ou peut-être existe-t-il un moyen de lire ces variables d'environnement par l'intermédiaire de adb que je ne connais pas.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X