ฉันจะกำหนดไดเรกทอรีจัดเก็บข้อมูลจาก ADB ได้อย่างไร


9

มีวิธีที่ฉันสามารถใช้ ADB เพื่อกำหนดไดเรกทอรีจัดเก็บข้อมูลภายนอก (เทียบเท่ากับการโทร Android API Environment.getExternalStorageDirectory()) หรือไม่

คำตอบ:


13

adb shell echo $EXTERNAL_STORAGE. เครดิตทั้งหมดไปที่ Flow เพื่อนำฉันไปทดลองและค้นหาสิ่งนี้

โดยปกติคุณสามารถใช้cd $EXTERNAL_STORAGEหรืออะไรก็ได้ที่คุณอาจต้องการในระหว่างเซสชัน adb shell หรือจากเทอร์มินัลอีมูเลเตอร์


2
Good Teamwork :) +1
Flow

2
ดีมาก! ขอบคุณ! อย่างไรก็ตามโปรดทราบว่าหากคุณอาจต้องหลีกเลี่ยง $ ขึ้นอยู่กับเชลล์ของคุณ ตัวอย่าง: adb shell echo \ $ EXTERNAL_STORAGE
notlesh

อืมดูเหมือนว่าซัมซุงของฉันจะให้ความแตกต่างกับฉันในราคา $ EXTERNAL_STORAGE มากกว่า Environment.getExternalStorageDirectory () นี่ไม่ใช่ข้อผิดพลาดแรกที่ฉันพบในโทรศัพท์นี้
notlesh

@stephelton มันน่าผิดหวัง คนไหนไม่ถูกต้อง $ EXTERNAL_STORAGE /mnt/sdcard/external_sd/ถูกต้องสำหรับผม
Matthew อ่าน

6

ฉันไม่คิดว่าจะเป็นไปได้ ดูโพสต์ของแมทธิว

แต่ขอล็อคไว้ว่า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ที่ฉันไม่รู้


2
ฉันหาคำสั่ง adb โดยใช้ข้อมูลนี้ +1
Matthew อ่าน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.