Saya terhubung ke perangkat langsung saya menggunakan adb dan perintah berikut:
C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied
Saya terkejut melihat bahwa saya memiliki akses ditolak. Kenapa saya tidak bisa menelusuri direktori menggunakan commandline seperti ini?
Bagaimana cara mendapatkan akses root di ponsel saya?
Jawaban:
Ada dua hal yang perlu diingat jika Anda ingin menelusuri segala sesuatu di perangkat Anda.
adb root
sumber
Mulai dari API level 8 (Android 2.2), untuk aplikasi yang dapat di-debuggable (yang dibangun oleh Android Studio setiap saat, kecuali jika rilisnya diminta), Anda dapat menggunakan
run-as
perintah shell untuk menjalankan perintah atau dijalankan sebagai pengguna / aplikasi tertentu atau hanya beralih ke UID aplikasi Anda sehingga Anda dapat mengakses direktori datanya .Daftar konten direktori aplikasi Anda:
Alihkan ke UID dari com.yourapp dan jalankan semua perintah lebih lanjut menggunakan uid itu (sampai Anda menelepon
exit
):Catatan 1 : ada masalah yang diketahui dengan beberapa ponsel HTC Desire. Karena pemilik / izin non-standar dari
/data/data
direktori,run-as
perintah gagal dijalankan pada ponsel tersebut.Catatan 2 : Seperti yang ditunjukkan dalam komentar oleh @Avio:
run-as
memiliki masalah juga dengan ponsel Samsung Galaxy S yang menjalankan Cyanogenmod pada versi apa pun (dari 7 hingga 10.1) karena pada platform/data/data
ini terdapat symlink ke/datadata
. Salah satu cara untuk mengatasi masalah ini adalah mengganti symlink dengan direktori aktual (sayangnya ini biasanya memerlukan akses root).sumber
run-as com.mypackage
. Masalah yang saya temui adalahsqlite3 /data/data/com.mypackage/databases/mydb
mengatakan "sqlite3: izin ditolak". Bisakah sqlite3 hanya dijalankan oleh root?sebelum kita mulai, apakah Anda memiliki ponsel yang sudah di- rooting ? jika tidak, saya sangat menyarankan bahwa sudah saatnya Anda melakukan lompatan. 99% tutorial yang membantu Anda melakukan ini mengharuskan Anda memiliki ponsel yang di-rooting (Saya tahu, saya menghabiskan sekitar satu jam mencari cara untuk melakukannya tanpa memiliki ponsel yang di-root .. tidak dapat menemukan .. ) juga jika Anda memikirkannya, iPhone Anda juga harus di-root untuk melakukan tugas yang sama. Jadi itu sangat masuk akal. Lebih lanjut tentang rooting di akhir jawaban.
dari jenis baris perintah Anda:
ini akan membawa Anda ke baris perintah shell android Anda (Anda akan melihat sesuatu seperti ini:
shell@android:/ $
sekarang ketik:ini akan membawa Anda langsung ke direktori data
com.domain.yourapp
:jika tidak (yaitu jika Anda mendapatkan kesalahan) maka Anda mungkin tidak memiliki ponsel yang di-rooting, atau Anda belum menggunakan hak pengguna root. Untuk menggunakan hak istimewa pengguna root, ketik
su
pada baris perintah adb dan lihat apa yang terjadi, jika Anda mendapatkan kesalahan, maka ponsel Anda tidak di-root. Jika tidak, lakukan root terlebih dahulu kemudian lanjutkan instruksi ini.dari sana Anda bisa mengetik
ls
dan Anda akan melihat semua direktori termasuk dbs:setelah itu Anda dapat menggunakan sqlite3 untuk menelusuri dbase .. jika Anda belum menginstalnya (Anda dapat mengetahuinya dengan mengetik
sqlite3
, jika Anda mendapatkannyacommand not found
maka Anda harus menginstalnya. Untuk menginstal sqlite, ikuti instruksi di sini .tentang rooting: jika Anda belum pernah me-rooting ponsel Anda sebelumnya, dan Anda khawatir akan melakukan rooting pada ponsel Anda, saya dapat memberi tahu Anda dengan keyakinan penuh bahwa tidak ada yang perlu dikhawatirkan. ada banyak tutorial rooting ponsel yang cepat dan mudah untuk hampir semua model baru dan lama di luar sana, dan Anda dapat me-root ponsel Anda walaupun Anda memiliki mac (saya melakukan root s3 dengan mac saya).
sumber
run-as
dapat berfungsi. Saya baru saja mencobanya pada Galaxy Nexus S. versi produksibuild the application as debuggable (either by building it with the Eclipse, or ant debug command)
mungkin terdengar sepele bagi Anda, tetapi mereka agak mengintimidasi saya. Saya kira jawaban saya lebih untuk orang-orang yang nyaman dengan rooting ponsel android mereka, tetapi tidak berpengalaman dalam dunia dev android. Tapi saya senang kita melakukan diskusi ini .. Saya ingin para pembaca jawaban saya menyadari alternatif non-rooting lainnya$ adb shell
$ cd / data
$ ls
opendir gagal, Izin ditolak
Anda harus melakukan ini:
BAIK!
sumber
Saya memiliki masalah yang sama ketika mencoba untuk beroperasi pada Samsung Galaxy S. yang sudah di-root. Menerbitkan perintah dari shell komputer
gagal dengan pesan "tidak dapat berjalan sebagai root di build produksi". Berikut adalah metode sederhana yang memungkinkan untuk menjadi root.
Alih-alih yang sebelumnya, keluarkan dua perintah berikut satu demi satu
Setelah perintah pertama, jika prompt telah berubah dari '>' ke '$' seperti yang ditunjukkan di atas, itu berarti Anda telah memasuki lingkungan adb shell. Jika selanjutnya prompt telah berubah menjadi '#' setelah mengeluarkan perintah kedua, itu berarti Anda sekarang root. Sekarang, sebagai root, Anda dapat melakukan apa pun yang Anda inginkan dengan perangkat Anda.
Untuk beralih kembali ke shell 'aman', masalah
Anda akan melihat bahwa prompt '$' muncul kembali yang berarti Anda berada di shell adb sebagai pengguna dan bukan sebagai root.
sumber
adb shell + su
menyelesaikan masalah izin yang mengganggu selamanya. Saya memiliki masalah tentangsu: not found
Android 4.3 tetapi karena saya memutakhirkan ke masalah 4.4.2 menghilang. 4.3 tampaknya memiliki masalah.Saya punya banyak masalah dengan ini juga. Saya masih belum sepenuhnya memahami izin dan proses root, tetapi ini berhasil bagi saya (salah satu jawaban sebelumnya sebagian) untuk menyalin file database dari / data / data / [nama paket] / databases/my_db.db. Menjalankan shell root , atau su in shell karena alasan tertentu tidak berhasil, juga tidak menyalin file db (saya bisa menavigasi ke direktori), juga sqlite3 .
Jadi, ini berhasil! Dalam prompt perintah DOS:
Sekarang buka direktori SDCARD dan dapatkan file Anda db_copy.db. Bahkan itu disembunyikan, tetapi saya berhasil mengirimkannya melalui email. Kembali di Windows, saya bisa membuka file db dengan SQLite Database Browser. :)
sumber
Berikut adalah dua langkah untuk mendapatkan akses root:
sumber
build produksi tidak bisa masuk / data / aplikasi
mungkin perlu diubah ke pemilik yang tepat untuk mengoperasikannya.
sumber
Masalahnya mungkin kita perlu secara khusus memberikan akses root adb di opsi developnent di CM terbaru .. Inilah yang saya lakukan.
setelah mengubah opsi pengembangan ...
sumber
jika Anda mengetahui paket aplikasi Anda dapat
cd
langsung ke folder itu ..misalnya
cd data/data/com.yourapp
ini akan menjatuhkan Anda ke direktori yang
read/writable
memungkinkan Anda dapat mengubah file sesuai kebutuhan. Karena foldernya samaemulator
, Anda dapat menggunakannya untuk mendapatkan path folder.sumber
Jika Anda hanya ingin melihat DB & Tabel Anda maka cara paling keren adalah menggunakan
Stetho
. Alat yang sangat keren untuk setiap pengembang Android yang menggunakanSQLite
buit olehFacobook developed
.Steps to use the tool
Sekarang, buat aplikasi Anda & Saat aplikasi sedang berjalan, Anda dapat menjelajahi basis data aplikasi Anda, dengan membuka chrome di url:
Tangkapan layar yang sama adalah seperti di bawah ini_
Semoga ini bisa membantu semuanya! :)
sumber
Ini berfungsi jika perangkat Android Anda di-root dengan cara apa pun (tidak yakin apakah itu berfungsi untuk non-root).
adb shell
- mengakses shellsu
- menjadi superuser.Anda sekarang dapat membaca semua file di semua direktori.
sumber
tanpa me - rooting perangkat Anda dapat mengakses file dengan screenshot cmd berikut:
mulai adb menggunakan cmd dari folder platform-tools sesuai dengan pengguna Anda
itu bisa di folder lain tergantung di mana Anda menginstalnya.
tampilkan perangkat yang berfungsi.
untuk mengatakan respon os perintahnya adalah
tulis perintahnya
itu akan terbuka
4. Mengakses file, daftar semua file
dan sebagainya direktori chang ke mana saja seperti folder data
sumber
su
) tidak berfungsi / tidak diizinkan. Pengujian dengan Android 4.3.Ketika Anda berada di direktori shell untuk perangkat. Lari saja
Maka Anda harus dapat mengakses data / folder.
sumber