Làm cách nào tôi có thể truy cập nhiều không gian người dùng từ adb?


9

Tôi đang chạy KitKat trên máy tính bảng có hai người dùng: chính (chủ sở hữu) và phụ. Tôi cần truy cập một tệp được tạo bởi một ứng dụng của người dùng thứ cấp.

Khi tôi cắm máy tính bảng vào máy tính để bàn (Ubuntu) qua USB, nó sẽ gắn kết như một thiết bị đa phương tiện (MTP) và hiển thị cho tôi thư mục cơ sở cho người dùng hiện đang hoạt động. [1] Nhưng tập tin tôi muốn có ở nơi khác trên hệ thống, vì vậy tôi đã kết nối từ dòng lệnh thông qua adb shell.

Kết nối thông qua ADB cho phép tôi truy cập vào các thư mục sâu hơn ( /mnt /procv.v.) nhưng tôi không thể tìm thấy tệp mà tôi mong đợi [2], vì vậy tôi vẫn tìm kiếm /sdcard. Thật ngạc nhiên, tôi nhận ra nội dung là thư mục cơ sở của tài khoản chủ sở hữu, mặc dù người dùng hiện đang hoạt động là người dùng phụ.

Điều này cũng cho tôi biết rằng, nếu tôi cần, tôi sẽ không thể truy cập thư mục cơ sở cho người dùng thứ cấp thông qua adb shell.

Làm cách nào tôi có thể truy cập máy tính bảng từ adb shellngười dùng phụ, thay vì người dùng chính (chủ sở hữu)? (Có thể truy cập các tệp của người dùng phụ là đủ tốt.)

[1] Tôi không chắc thuật ngữ thích hợp ở đây là gì. Ý tôi là thư mục với Android, Tải xuống và Ảnh, dành riêng cho một người dùng cụ thể.

[2] FWIW Tôi đang xuất một tệp OPML từ Flym . Flym báo cáo rằng xuất OPML được tạo tại /storage/emulated/10/Flym_123456789.opmlnhưng tôi chỉ có thể đi xa tới mức /storage/emulated- không có thư mục con nào được gọi 10, chỉ legacygiống như /sdcard(thư mục cơ sở chính / chủ sở hữu, không phải thư mục cơ sở của người dùng phụ).


Đối với những người kết thúc tại bài đăng này có vấn đề tương tự hoặc tương tự, hãy xem Làm cách nào tôi có thể truy cập sdcard được mô phỏng cho một người dùng khác trên nexus gốc 10
Firelord

Câu trả lời:


3

Các legacy/vị trí luôn luôn trỏ đến dữ liệu của người dùng hiện đang hoạt động. Trước tiên, hãy để tôi chỉ ra một vài câu hỏi / câu trả lời liên quan xử lý rõ ràng các vấn đề lưu trữ đa người dùng đó cho một số nền tảng:

Vì vậy, để tìm các tập tin của người dùng thứ cấp:

  • liệt kê các thư mục con của /data/media/storage/emulated
  • hạn chế tìm kiếm của bạn vào các thư mục con có tên chỉ là "số"
  • các 0ứng cử viên thuộc về chủ sở hữu, số lượng cao hơn là của người dùng thứ cấp
  • bộ nhớ ngoài là một cái gì đó khác nhau: /sdcard/0trỏ đến sdcard nội bộ, trong khi /sdcard/1nên là bên ngoài (nếu có). Tương tự cho việc lưu trữ được đính kèm qua OTG

Hãy nhớ rằng bạn có thể cần phải root để truy cập dữ liệu của người dùng khác với người dùng hiện đang hoạt động trên thiết bị.

Cũng thấy:


điều này giúp tôi hiểu những gì tôi sẽ thấy, nhưng những gì tôi thực sự thấy chỉ là / lưu trữ / mô phỏng / di sản (không có thư mục số) và tôi không có quyền truy cập vào / data / media (quyền bị từ chối) - Tôi sẽ thử khởi động lại và không bao giờ đăng nhập với tư cách chủ sở hữu
david.libremone

Như tôi đã viết: "bạn có thể cần phải root" (giải thích "quyền bị từ chối"). Thiết bị của bạn đã được root?
Izzy

nó không (hơi sợ một chút, dường như không có quy trình đáng tin cậy?)
david.libremone

nhưng tôi có thể xác nhận điều này: khởi động lại thiết bị, không đăng nhập với tư cách chủ sở hữu, đăng nhập với tư cách phụ, kết nối usb, truy cập qua MTP: có thể xem thư mục người dùng phụ, truy cập qua adb shell: có thể xem / lưu trữ / mô phỏng / kế thừa như người dùng chủ sở hữu (không phải người dùng phụ) - không có thư mục nào khác xuất hiện dưới / lưu trữ / mô phỏng
david.libremone

Khi đăng nhập với người dùng thứ cấp, emulated/nên trỏ đến dữ liệu của người dùng thứ cấp. Không có cách nào để truy cập tất cả mà không cần root. Và chính xác, không có quy trình chính thức để root thiết bị của bạn; bạn có thể muốn kiểm tra thẻ root-wikichỉ mục root của chúng tôi để kiểm tra các tướng và cho thiết bị của bạn. Nếu không được liệt kê, được chào đón để đặt một câu hỏi mới cho việc này.
Izzy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.