มีวิธีที่ฉันสามารถใช้ ADB เพื่อกำหนดไดเรกทอรีจัดเก็บข้อมูลภายนอก (เทียบเท่ากับการโทร Android API Environment.getExternalStorageDirectory()
) หรือไม่
มีวิธีที่ฉันสามารถใช้ ADB เพื่อกำหนดไดเรกทอรีจัดเก็บข้อมูลภายนอก (เทียบเท่ากับการโทร Android API Environment.getExternalStorageDirectory()
) หรือไม่
คำตอบ:
adb shell echo $EXTERNAL_STORAGE
. เครดิตทั้งหมดไปที่ Flow เพื่อนำฉันไปทดลองและค้นหาสิ่งนี้
โดยปกติคุณสามารถใช้cd $EXTERNAL_STORAGE
หรืออะไรก็ได้ที่คุณอาจต้องการในระหว่างเซสชัน adb shell หรือจากเทอร์มินัลอีมูเลเตอร์
/mnt/sdcard/external_sd/
ถูกต้องสำหรับผม
ฉันไม่คิดว่าจะเป็นไปได้ ดูโพสต์ของแมทธิว
แต่ขอล็อคไว้ว่าEnvironment.getExternalStorageDirectory()
จะส่งคืนไดเรคทอรีเก็บข้อมูลภายนอกอย่างไร ดูอย่างรวดเร็วในการแสดงให้เห็นว่าทุกวิธีการนี้ไม่จะกลับมาเป็นสมาชิกแบบคงที่คงที่ไฟล์ที่เรียกว่าandroid/os/Environment.java
EXTERNAL_STORAGE_DIRECTORY
ค่าเริ่มต้นคงที่นี้โดย
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
สายไหน getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
ดังนั้นไดเร็กทอรีหน่วยเก็บข้อมูลภายนอกจึงไม่มีสิ่งอื่นดังนั้นตัวแปรสภาพแวดล้อมระบบ Java (หรือค่าดีฟอลต์ที่กำหนดไว้ล่วงหน้า) คุณสามารถลองติดตามร่องรอยนี้ต่อไป บางทีไดเรกทอรีจัดเก็บข้อมูลภายนอกเป็นเพียงเส้นทางฮาร์ดโค้ดในไฟล์กำหนดค่าบางอย่างในระบบไฟล์ หรืออาจมีวิธีอ่านตัวแปรสภาพแวดล้อมเหล่านี้ผ่านทางadb
ที่ฉันไม่รู้