ฉันจะเข้าถึงช่องว่างผู้ใช้หลายรายการจาก adb ได้อย่างไร


9

ฉันกำลังใช้งาน KitKat บนแท็บเล็ตที่มีผู้ใช้สองคน: หลัก (เจ้าของ) และรอง ฉันต้องการเข้าถึงไฟล์ที่สร้างโดยแอพของผู้ใช้รอง

เมื่อฉันเสียบแท็บเล็ตเข้ากับเดสก์ท็อป (Ubuntu) ผ่าน USB มันจะเมานต์เป็นอุปกรณ์สื่อ (MTP) และแสดงโฟลเดอร์ฐานสำหรับผู้ใช้ที่ใช้งานอยู่ในปัจจุบัน [1] แต่ไฟล์ที่ฉันต้องการอยู่ที่อื่นในระบบดังนั้นฉันจึงเชื่อมต่อจากบรรทัดคำสั่งผ่านadb shellแทน

การเชื่อมต่อผ่าน ADB ทำให้ฉันสามารถเข้าถึงโฟลเดอร์ที่ลึกกว่า ( /mnt /procฯลฯ ) แต่ฉันไม่พบไฟล์ที่ฉันต้องการ [2] ดังนั้นฉันจึงเข้าไปดู/sdcardต่อไป ด้วยความประหลาดใจของฉันฉันได้รับการยอมรับเนื้อหาเป็นโฟลเดอร์ฐานของบัญชีเจ้าของแม้ว่าผู้ใช้ที่ใช้งานในปัจจุบันคือผู้ใช้รอง

adb shellนอกจากนี้ยังบอกว่าถ้าผมจำเป็นต้องฉันจะไม่สามารถเข้าถึงโฟลเดอร์ฐานสำหรับผู้ใช้ผ่านทางรอง

ฉันจะเข้าถึงแท็บเล็ตจากadb shellในฐานะผู้ใช้รองแทนที่จะเป็นผู้ใช้หลัก (เจ้าของ) ได้อย่างไร (ความสามารถในการเข้าถึงไฟล์ของผู้ใช้รองนั้นดีพอ)

[1] ฉันไม่แน่ใจว่าคำที่เหมาะสมคืออะไร ฉันหมายถึงโฟลเดอร์ที่มี Android, ดาวน์โหลดและรูปภาพโดยเฉพาะสำหรับผู้ใช้ที่เฉพาะเจาะจง

[2] FWIW ฉันกำลังการส่งออกไฟล์ OPML จากFlym Flym รายงานว่าการส่งออก OPML ถูกสร้างขึ้นที่/storage/emulated/10/Flym_123456789.opmlแต่ฉันสามารถทำได้เท่าที่/storage/emulatedมี - ไม่มีโฟลเดอร์ย่อยที่เรียก10เท่านั้นlegacyซึ่งจะเหมือนกับ/sdcard(โฟลเดอร์พื้นฐานของเจ้าของ / หลักไม่ใช่โฟลเดอร์ฐานของผู้ใช้รอง)


สำหรับผู้ที่ลงเอยที่โพสต์นี้ด้วยปัญหาเดียวกันหรือคล้ายกันดูฉันจะเข้าถึง sdcard ที่จำลองสำหรับผู้ใช้รายอื่นบน Nexus ที่มีรูท 10
Firelord

คำตอบ:


3

legacy/สถานที่มักจะชี้ไปที่ข้อมูลของผู้ใช้ที่ใช้งานอยู่ในปัจจุบัน ให้ฉันชี้ไปที่คำถาม / คำตอบที่เกี่ยวข้องสองสามข้ออย่างชัดเจนเกี่ยวกับปัญหาการจัดเก็บข้อมูลผู้ใช้หลายคนสำหรับพื้นหลังบางอย่าง:

ดังนั้นเพื่อค้นหาไฟล์ของผู้ใช้รอง:

  • รายการไดเรกทอรีย่อยของ/data/mediaและ/storage/emulated
  • จำกัด การค้นหาของคุณไปยังไดเรกทอรีย่อยที่มีชื่อเพียง "หมายเลข"
  • 0ผู้สมัครที่เป็นของเจ้าของตัวเลขที่สูงขึ้นของผู้ใช้รอง
  • ที่จัดเก็บข้อมูลภายนอกมีความแตกต่าง: /sdcard/0ชี้ไปที่ sdcard ภายในขณะที่/sdcard/1ควรเป็นภายนอก (ถ้ามี) ในทำนองเดียวกันสำหรับการจัดเก็บข้อมูลที่แนบผ่าน OTG

จำไว้ว่าคุณอาจต้องรูทเพื่อเข้าถึงข้อมูลของผู้ใช้รายอื่นที่นอกเหนือจากที่ใช้งานอยู่บนอุปกรณ์ในปัจจุบัน

ดูเพิ่มเติมที่:


สิ่งนี้ช่วยให้ฉันเข้าใจสิ่งที่ฉันควรเห็น แต่สิ่งที่ฉันเห็นจริง ๆ คือ / storage / emulated / legacy (ไม่มีโฟลเดอร์ตัวเลข) และฉันไม่สามารถเข้าถึง / data / media (ปฏิเสธสิทธิ์) - ฉันจะลอง รีสตาร์ทและไม่ลงชื่อเข้าใช้ในฐานะเจ้าของ
david.libremone

ดังที่ฉันเขียน: "คุณอาจต้องรูท" (ซึ่งอธิบายถึง "การอนุญาตที่ถูกปฏิเสธ") อุปกรณ์ของคุณรูทหรือไม่
Izzy

มันไม่ (กลัวนิดหน่อยดูเหมือนว่าไม่มีกระบวนการที่เชื่อถือได้ใช่หรือไม่)
david.libremone

แต่ฉันสามารถยืนยันสิ่งนี้ได้: อุปกรณ์รีบูตอย่าลงชื่อเข้าใช้ในฐานะเจ้าของเข้าสู่ระบบเป็นรองเชื่อมต่อ usb เข้าถึงผ่าน MTP: สามารถดูโฟลเดอร์ผู้ใช้รองเข้าถึงผ่านเชลล์ adb: สามารถดู / จัดเก็บ / จำลอง / มรดกเป็น เจ้าของผู้ใช้ (ไม่ใช่ผู้ใช้รอง) - ไม่มีโฟลเดอร์อื่นปรากฏขึ้นภายใต้ / storage / emulated
david.libremone

เมื่อเข้าสู่ระบบด้วยผู้ใช้รองemulated/ควรชี้ไปที่ข้อมูลของผู้ใช้รอง ไม่มีวิธีการเข้าถึงทั้งหมดโดยไม่มีรูท และถูกต้องไม่มีกระบวนการอย่างเป็นทางการในการรูทอุปกรณ์ของคุณ คุณอาจต้องการตรวจสอบการรูทtag-wikiและดัชนีการรูทของเราเพื่อตรวจสอบนายพลและอุปกรณ์ของคุณ หากไม่อยู่ในรายการยินดีที่จะถามคำถามใหม่สำหรับเรื่องนี้
Izzy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.