Jawaban:
adb shell echo $EXTERNAL_STORAGE
. Semua kredit mengalir ke Flow karena mengarahkan saya untuk bereksperimen dan menemukan ini.
Tentu saja Anda dapat menggunakan cd $EXTERNAL_STORAGE
atau apa pun yang Anda butuhkan selama sesi shell adb atau dari emulator terminal.
/mnt/sdcard/external_sd/
,.
Saya pikir ini tidak mungkin. Lihat Matthew's Post
Tapi mari kita kunci bagaimana Environment.getExternalStorageDirectory()
mengembalikan direktori penyimpanan eksternal. Pandangan cepat dalam android/os/Environment.java
menunjukkan bahwa semua metode ini, mengembalikan anggota file konstanta statis disebut EXTERNAL_STORAGE_DIRECTORY
. Konstanta ini diinisialisasi oleh
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
yang memanggil getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Jadi direktori penyimpanan eksternal adalah variabel lingkungan Sistem java (atau standar yang ditentukan sebelumnya). Anda dapat mencoba mengikuti jejak ini lebih lanjut. Mungkin direktori penyimpanan eksternal hanyalah jalur kode yang sulit di beberapa file konfigurasi pada sistem file. Atau mungkin ada cara untuk membaca variabel-variabel lingkungan ini melalui adb
yang saya tidak tahu.