Có quyền truy cập vào logcat cần root?


9

Thiết bị của tôi đã được root, đây là lý do tại sao tôi hỏi.

Bạn có cần root để theo dõi luồng logcat trên điện thoại không? Nếu tôi chạy lệnh logcat từ bên trong Terminal trên điện thoại, nó có hoạt động không?

Câu trả lời:


15

Các ứng dụng miễn phí này trong Thị trường tuyên bố có thể hiển thị logcat của bạn và không đề cập đến root. Chỉ nên mất vài phút để thử chúng:

EDIT: Cảm ơn @mente đã nhắc nhở tôi rằng những ứng dụng này sẽ chỉ cho phép bạn xem logfile đầy đủ trong các phiên bản Android cũ hơn. Android 4.1 mang đến một mô hình bảo mật mới xung quanh các logfile có nghĩa là các ứng dụng chỉ có thể đọc các logfile và các mục logfile của riêng chúng và không thể đọc các mục logfile được viết bởi hệ thống hoặc các ứng dụng khác.

Tuy nhiên, vẫn có cả cách để người dùng ứng dụng tạo logfile của các mục nhật ký gần đây của ứng dụng được gửi cho nhà phát triển và để chủ sở hữu điện thoại cấp quyền cho phép ứng dụng đọc logfile mà không cần root hoàn toàn, nhưng điều này không yêu cầu bạn sử dụng lệnh ADB, điều không may đưa nó ra khỏi tầm với của hầu hết người dùng điện thoại thông thường:

Nếu bạn muốn người dùng cung cấp cho bạn thông tin gỡ lỗi, bạn có thể yêu cầu họ tạo báo cáo lỗi với nguồn + giảm âm lượng + tăng âm lượng bao gồm nhật ký và nhiều dữ liệu khác và tự động hiển thị ứng dụng email của họ để gửi tất cả (cộng với ảnh chụp màn hình). Chúng tôi chỉ thảo luận rằng chúng tôi cũng nên có một cách dễ dàng hơn để tạo ra những thứ này, tôi sẽ xem xét thêm một cái gì đó vào ứng dụng cài đặt.

Tôi cũng đã bắt đầu giới thiệu khái niệm về quyền "phát triển", trong đó đọc nhật ký được phân loại là. Điều này cho phép ứng dụng yêu cầu sự cho phép, nhưng không nhận được khi cài đặt. Tuy nhiên, bạn có thể cấp cho nó một lệnh shell adb sau khi được cài đặt. Vào một lúc nào đó, tôi hy vọng sẽ có một giao diện người dùng trong hệ thống để thực hiện việc này, nhưng chúng tôi sẽ giữ điều đó để cẩn thận về cách chúng tôi trình bày điều này.

Trích từ một bài đăng trên Google Groups của Dianne Hackborn, Kỹ sư khung Android. Tôi nhấn mạnh.

Lệnh ADB đã đề cập để cấp quyền cho ứng dụng đọc nhật ký là:

adb shell pm grant <pkg> android.permission.READ_LOGS

Cài đặt này sẽ tồn tại khi khởi động lại và nâng cấp ứng dụng (nhưng không gỡ cài đặt / cài đặt lại).


Bắt đầu từ Android 4.1, bạn cần quyền truy cập root để đọc nhật ký ứng dụng khác. Nhà phát triển CatLog đăng lời giải thích . Giả sử các ứng dụng này hoạt động cho <phiên bản 4.1
mente

1
Phím tắt này không hoạt động trên Android 4.1.2 của tôi
mente

Tôi đã tạo một tiện ích để thu thập nhật ký từ PC: gist.github.com/hrj/5983971
HRJ

4

Bạn không cần root điện thoại để chạy adb logcatvới SDK Android, nhưng tôi chỉ kiểm tra nó trong Trình mô phỏng đầu cuối và tôi đã phải root (đã sử dụng sulệnh - điện thoại của tôi đã được root) để chạy logcat trong thiết bị đầu cuối trên điện thoại của tôi.

Vì vậy, có: nếu bạn đã root trên điện thoại, bạn có thể chạy logcat từ một thiết bị đầu cuối trên điện thoại của bạn.


1

Không, bạn không cần root để lấy thông tin logcat.

Để làm điều đó, có lẽ bạn muốn tải xuống SDK Android và chạy "adb logcat", sử dụng công cụ adb đi kèm với SDK. Ngoài ra, bạn có thể cài đặt plugin ADT Eclipse và sử dụng trình xem Logcat trực tuyến tiện dụng của nó.


tôi muốn làm điều này từ điện thoại, không phải từ một máy từ xa có SDK
Wulfbane

1

Không, bạn không cần root để truy cập logcat. Thiết bị của tôi (Samsung Galaxy Note, Gingerbread 2.3.6 với ROM stock) chưa được root (chưa!) Và tôi đã sử dụng các cách sau để truy cập nhật ký trên thiết bị của mình:

  • Ứng dụng CatLog
  • ứng dụng aLogcat
  • Ứng dụng SSHDroid được kích hoạt và được kết nối với thiết bị đầu cuối của thiết bị bằng ứng dụng khách SSH
  • Sử dụng SDK Android và chạy adb logcat

Tuy nhiên, ứng dụng Terminal không cho phép bạn chạy logcat và cung cấp cho bạn "quyền bị từ chối". Tôi cung không chăc tại sao.


vâng, trên Gingerbread ... nhưng Android ngày nay không yêu cầu root.
NH.

1

Có vẻ như bạn không thể chạy logcat từ Terminal Emulator mà không cần root trên điện thoại. Trong trường hợp này bạn phải su trước. AFAIK, nó xuất phát từ Quyền của Android: Trình mô phỏng đầu cuối đơn giản là không có đủ quyền để xem nhật ký của thiết bị. Vì vậy, hệ thống nói Quyền bị từ chối.

Mặt khác, như những người khác nói, có rất nhiều ứng dụng cho phép bạn xem nhật ký của thiết bị chỉ vì họ yêu cầu sự cho phép.



0

Logcat không cần root. Simples - đó là một tiêu chuẩn thực tế trên toàn bảng đối với các phiên bản Android khác nhau và là một phần của Android, bất kể bạn đã root hay chưa, và là một phương tiện tiêu chuẩn để chẩn đoán các sự cố như trong ví dụ - bạn cài đặt một ứng dụng, Ứng dụng buộc phải đóng, bạn phàn nàn với nhà phát triển ứng dụng đã nói, rất có thể nhà phát triển sẽ yêu cầu "gửi qua logcat" bất kể bạn đã root hay chưa!

aLogCat là một cách để thu thập thông tin, với tùy chọn đăng nhập vào bố cục trang web hoặc văn bản thuần túy, nếu bạn lên lịch để đăng nhập ở một tần số nhất định như cứ sau 15 phút, SDCard sẽ lấp đầy khá nhanh.

Một khía cạnh khác, việc sử dụng logcat sẽ phụ thuộc vào kernel về mức độ lưu trữ của nó - trong bất kỳ kernel nào được ROM sử dụng, nguồn để ghi nhật ký từ cấp kernel, nơi nó dành bộ nhớ cho dịch vụ logcat có thể được tìm thấy trong drivers/staging/android/logger.cviệc sử dụng định nghĩa thích hợp ví dụ:

DEFINE_LOG

Một lần nữa, số dặm sẽ thay đổi, một số nhà phát triển ROM như vậy sẽ chọn giảm thiểu mức tiêu thụ để giảm chi phí bộ nhớ ...

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.