Bagaimana saya bisa mengakses file log android pada Nexus 7 saya tanpa akses root?

9

Karena aLogcat sekarang tidak lagi berfungsi dengan Jelly Bean , bagaimana saya bisa mengakses file log sistem pada perangkat saya tanpa akses root atau melampirkannya ke komputer?

Saya telah mencoba menggunakan adb logcatdari PC saya dan itu berfungsi dengan baik, jadi saya tahu bahwa banyak pesan sedang dicatat.

Menggunakan logcatdari Android Terminal Emulator pada Nexus 7 saya menunjukkan hampir tidak ada output dan adb logcatdari Android Terminal Emulator , memulai daemon tetapi kemudian hanya mengatakan - waiting for device -dan tidak ada lagi yang muncul.

Jadi, apakah mungkin untuk mengakses file log android di Nexus 7 saya tanpa akses root ?

Mark Booth
sumber
@Izzy - Inti dari pertanyaan ini adalah bahwa semua solusi di pertanyaan saya yang lain (yang saya tautkan dalam pertanyaan ini) memerlukan akses root. Sementara solusi ini bermanfaat bagi mereka yang telah melakukan rooting perangkat mereka, saya menginginkan solusi yang lebih spesifik bagi mereka yang belum melakukan rooting perangkat mereka.
Mark Booth
Anda mungkin menemukan PhoneHome menarik untuk dilihat
Dori

Jawaban:

12

Tidak, untuk alasan keamanan tidak mungkin untuk mengakses file log android pada Nexus 7 (atau perangkat lain yang menjalankan Jelly Bean atau lebih tinggi) tanpa akses root. Google mengubahnya dengan Jelly Bean.

Saya sarankan Anda menunggu sampai pembaca logcat seperti aLogCat dan semacamnya diperbaiki (yaitu mereka akan memerlukan akses root untuk menampilkan semua log kemudian).

Dari AISEC-TR-2012-001-Android-OS-Security.pdf - 3.3 Model Izin Android :

Izin READ_LOGS dapat menggantikan yang berikut ini di banyak perangkat, tergantung pada versi Android dan dengan demikian versi aplikasi standar terinstal:

  • READ_CONTACTS

  • GET_TASKS - setiap Kegiatan yang dimulai dicantumkan dalam log sistem

  • READ_HISTORY_BOOKMARKS - membuka halaman web baru adalah Aktivitas browser dan karenanya dicatat

  • READ_SMS

Semua solusi di bawah ini memerlukan akses root :

Anda perlu menjalankan logcat sebagai root di shell atau memberikannya secara manual melalui perintah shell pm (root diperlukan) juga berfungsi (lihat XDA , tukar org.jtb.alogcat.donate dengan nama pkg aplikasi):

pm grant org.jtb.alogcat.donate android.permission.READ_LOGS

Ini untuk yang malas dan tidak disarankan: Jika Anda putus asa, ceroboh, dan malas, Anda dapat memperbaikinya dengan memberikan setiap aplikasi izin READ_LOGS dengan menerapkan peretasan yang jelek dan tidak aman ini ( Chainfire via twitter ):

chmod 04755 /system/bin/logcat

Mengutip posting G + pengembang CyanogenMod, Koushik Dutta :

Apakah izin Log Android / perilaku berubah di JellyBean?

Tampaknya jika aplikasi menjalankan "logcat" sekarang, ia hanya dapat melihat entri log yang dibuat oleh UID-nya. Baris log dari UID lain tidak ditampilkan. Pada dasarnya, sepertinya sudah difilter sekarang.

Saya memiliki izin yang sama seperti biasa. Juga dikonfirmasi hal yang sama terjadi di aplikasi pengumpul log lainnya.

ce4
sumber
Tidak ada jalan tanpa akar yang saya tahu. Demi keamanan. Dimulai dengan JellyBean, izin read_logs tidak harus lagi diberikan (masing-masing aplikasi hanya dapat melihat lognya sendiri).
ce4
Terima kasih atas hasil edit dan tautannya ke xda, saya mengintegrasikannya.
ce4
Terima kasih telah menambahkan pm grantopsi. Perhatikan bahwa seperti yang sekarang saya katakan di jawaban saya yang lain , Anda perlu menentukan paket yang sedikit berbeda jika Anda tidak menggunakan versi donasi dari aLogcat :pm grant org.jtb.alogcat android.permission.READ_LOGS
Mark Booth
Makalah yang direferensikan tidak menjelaskan bagaimana READ_LOGSsama dengan READ_CONTACTSpada beberapa platform. Saya kira maksudnya beberapa aplikasi memasukkan data kontak ke dalam log, tetapi itu tidak benar-benar sama READ_CONTACTS. Tetapi kemudian saya akan mengatakan bahwa kertas itu ditulis dengan nada yang mengkhawatirkan.
Aliran
READ_LOGS membocorkan lebih banyak informasi daripada sekadar data kontak. Ada nama pengguna, mungkin alamat gmail, lokasi, aplikasi terpasang (bahkan penggunaan aplikasi) dan sebagainya. Plus: telah digunakan untuk membaca dan mengekstrak alamat dari tumpukan sistem daemon pada hari-hari sebelum ASLR oleh eksploitasi root. Sekarang mereka telah mematikan sebagian besar (4.1 ±) Anda mungkin mendapatkan perlindungan segerombolan (bandingkan dengan tidak memvaksinasi anak Anda dalam populasi yang divaksinasi bebas penyakit). Masalah menjulang dan Google melakukan hal yang benar.
ce4
1

Saya bingung dengan ini meskipun itu akan menjelaskan beberapa hal.

Menjalankan aplikasi yang sama pada nexus7 dan galaksi nexus saya, keduanya pada jellybean, telepon melihat output log dari semua aplikasi, tablet tidak. Ini akan mengatakan bahwa itu bukan jellybean nexus7 nya. Membackup ini, saya baru saja memeriksa dan keduanya memiliki kernel yang berbeda. Tablet, dengan yang lebih baru.

Mungkin itu kernel yang diperbarui itu, berarti log tidak muncul.

Sepertinya saya harus melakukan root setelah semua: (

Russ Wheeler
sumber
Itu menarik, Russ, terima kasih atas informasi tambahannya.
Mark Booth
Sebenarnya saya sekarang telah diberitahu dengan andal bahwa ini karena aplikasi yang saya gunakan untuk melihat log, telah diinstal pada mesin saya ketika saya memiliki ICS sehingga tetap memiliki izin untuk melihat log.
Russ Wheeler
1

Saya telah mengembangkan aplikasi Logcat yang menggunakan pendekatan alternatif. Ini menggunakan fitur debugging jarak jauh. Anda harus mengaktifkannya di telepon terlebih dahulu, tetapi itu harus dilakukan hanya sekali dan kemudian Anda dapat menggunakan aplikasi untuk mengambil semua log.

Anton Tananaev
sumber