Bagaimana saya bisa mengakses beberapa ruang pengguna dari adb?

9

Saya menjalankan KitKat di tablet dengan dua pengguna: primer (pemilik) dan sekunder. Saya perlu mengakses file yang dibuat oleh aplikasi pengguna sekunder.

Ketika saya menyambungkan tablet ke desktop (Ubuntu) saya melalui USB, itu dipasang sebagai perangkat media (MTP), dan menunjukkan kepada saya folder dasar untuk pengguna yang sedang aktif. [1] Tetapi file yang saya inginkan ada di tempat lain di sistem, jadi saya terhubung dari baris perintah adb shellsebagai gantinya.

Menghubungkan melalui ADB memberi saya akses ke folder yang lebih dalam ( /mnt /procdll) tetapi saya tidak dapat menemukan file di tempat yang saya harapkan [2], jadi saya /sdcardtetap mencari. Yang mengejutkan saya, saya mengenali konten sebagai folder dasar dari akun pemilik, meskipun pengguna yang saat ini aktif adalah pengguna sekunder.

Ini juga memberi tahu saya bahwa, jika perlu, saya tidak akan dapat mengakses folder dasar melalui pengguna sekunder adb shell.

Bagaimana saya bisa mengakses tablet dari adb shellsebagai pengguna sekunder, bukan sebagai pengguna utama (pemilik)? (Mampu mengakses file pengguna sekunder sudah cukup baik.)

[1] Saya tidak yakin apa istilah yang tepat di sini. Maksud saya folder dengan Android, Unduh dan Gambar, khusus untuk pengguna tertentu.

[2] FWIW Saya mengekspor file OPML dari Flym . Flym melaporkan bahwa ekspor OPML dihasilkan pada /storage/emulated/10/Flym_123456789.opmltetapi saya hanya bisa mendapatkan sejauh /storage/emulated- tidak ada subfolder yang dipanggil 10, hanya legacyyang sama dengan /sdcard(folder dasar primer / pemilik, bukan folder dasar pengguna sekunder).

david.libremone
sumber
Bagi mereka yang berakhir di pos ini dengan masalah yang sama atau serupa, lihat Bagaimana saya dapat mengakses sdcard yang ditiru untuk pengguna lain pada nexus yang di-root 10
Firelord

Jawaban:

3

The legacy/lokasi selalu menunjuk ke data pengguna yang sedang aktif. Pertama-tama saya akan tunjukkan beberapa pertanyaan / jawaban terkait yang secara eksplisit berurusan dengan masalah penyimpanan multi-pengguna untuk beberapa latar belakang:

Jadi untuk menemukan file-file dari pengguna sekunder:

  • daftar sub-direktori dari /data/mediadan/storage/emulated
  • batasi pencarian Anda pada sub-direktori yang namanya hanya "angka"
  • yang 0kandidat milik pemilik, nomor yang lebih tinggi dari pengguna sekunder
  • penyimpanan eksternal adalah sesuatu yang berbeda: /sdcard/0menunjuk ke sdcard internal, sementara /sdcard/1harus eksternal (jika tersedia). Begitu pula untuk penyimpanan yang dilampirkan melalui OTG

Ingat Anda mungkin perlu root untuk mengakses data pengguna selain yang saat ini aktif di perangkat.

Lihat juga:

Izzy
sumber
ini membantu saya memahami apa yang harus saya lihat, tetapi apa yang sebenarnya saya lihat hanyalah / storage / emulated / legacy (tidak ada folder numerik) dan saya tidak memiliki akses ke / data / media (izin ditolak) - Saya akan mencoba memulai kembali dan tidak pernah masuk sebagai pemilik
david.libremone
Seperti yang saya tulis: "Anda mungkin harus root" (yang menjelaskan "izin ditolak"). Apakah perangkat Anda di-root?
Izzy
bukan (agak takut, sepertinya tidak ada proses yang dapat diandalkan?)
david.libremone
tapi saya dapat mengkonfirmasi ini: perangkat reboot, jangan login sebagai pemilik, login sebagai sekunder, menghubungkan usb, akses melalui MTP: dapat melihat folder pengguna sekunder, akses melalui adb shell: dapat melihat / storage / emulated / legacy sebagai pemilik pengguna (bukan pengguna sekunder) - tidak ada folder lain yang muncul di bawah / storage / emulated
david.libremone
Saat masuk dengan pengguna sekunder, emulated/harus mengarah ke data pengguna sekunder. Tidak ada cara untuk mengakses semua tanpa root. Dan benar, tidak ada proses resmi untuk me-rooting perangkat Anda; Anda mungkin ingin memeriksa rooting tag-wiki dan indeks rooting kami untuk memeriksa jenderal dan perangkat Anda. Jika tidak terdaftar, silakan mengajukan pertanyaan baru untuk ini.
Izzy