Respostas:
adb shell echo $EXTERNAL_STORAGE
. Todo o crédito vai para o Flow por me levar a experimentar e encontrar isso.
Naturalmente, você pode usar cd $EXTERNAL_STORAGE
ou o que mais for necessário durante uma sessão do shell adb ou em um emulador de terminal.
/mnt/sdcard/external_sd/
,.
Eu não acho que isso seja possível. Ver a publicação de Matthew
Mas vamos ter um bloqueio sobre como Environment.getExternalStorageDirectory()
retorna o diretório de armazenamento externo. Uma rápida olhada android/os/Environment.java
mostra que todo esse método faz, está retornando um membro constante de arquivo estático chamado EXTERNAL_STORAGE_DIRECTORY
. Essa constante é inicializada por
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
que chama getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Portanto, o diretório de armazenamento externo nada mais é do que uma variável de ambiente java System (ou um padrão predefinido). Você pode tentar seguir esse rastreamento ainda mais. Talvez o diretório de armazenamento externo seja apenas um caminho codificado em algum arquivo de configuração no sistema de arquivos. Ou talvez haja uma maneira de ler essas variáveis de ambiente por meio adb
disso que eu não conheço.