การเข้าถึง logcat ต้องการรูทหรือไม่


9

อุปกรณ์ของฉันถูกรูทแล้วนี่คือเหตุผลที่ฉันถาม

คุณต้องการรูทเพื่อตรวจสอบสตรีม logcat บนโทรศัพท์หรือไม่? ถ้าฉันใช้คำสั่ง logcat จากภายใน Terminal ในโทรศัพท์มันจะใช้งานได้ไหม

คำตอบ:


15

แอพฟรีเหล่านี้ในการอ้างสิทธิ์ของตลาดเพื่อให้สามารถแสดง logcat ของคุณและไม่พูดถึงราก ควรใช้เวลาสองสามนาทีในการทดลอง:

แก้ไข: ขอบคุณ @mente ที่เตือนฉันว่าแอปเหล่านี้จะให้คุณดูล็อกไฟล์แบบเต็มใน Android เวอร์ชันเก่าเท่านั้น Android 4.1 มาในรูปแบบความปลอดภัยใหม่รอบ ๆ ไฟล์บันทึกซึ่งหมายความว่าแอพสามารถอ่านไฟล์บันทึกและรายการไฟล์บันทึกของตนเองเท่านั้นและไม่สามารถอ่านรายการไฟล์บันทึกที่เขียนโดยระบบหรือแอปอื่น ๆ

อย่างไรก็ตามยังมีวิธีให้ผู้ใช้แอปสร้างล็อกไฟล์ของรายการบันทึกล่าสุดของแอพที่จะส่งไปยังนักพัฒนาและสำหรับเจ้าของโทรศัพท์จะให้สิทธิ์ในการอนุญาตให้แอปอ่านไฟล์บันทึกโดยไม่ต้องรูททั้งหมด จะทำให้คุณต้องใช้คำสั่ง ADB ซึ่งทำให้ผู้ใช้โทรศัพท์ทั่วไปส่วนใหญ่ไม่สามารถใช้งานได้

หากคุณต้องการให้ผู้ใช้ให้ข้อมูลการดีบักคุณสามารถให้พวกเขาสร้างรายงานบั๊กที่มี power + volume down + volume up ซึ่งรวมถึงบันทึกและข้อมูลอื่น ๆ อีกมากมายและนำแอพ e-mail ของพวกเขามาส่งให้โดยอัตโนมัติ (รวมภาพหน้าจอ) เราเพิ่งพูดถึงว่าเราควรมีวิธีที่ง่ายกว่าในการสร้างสิ่งเหล่านี้เช่นกันฉันจะดูที่การเพิ่มบางอย่างลงในแอพการตั้งค่า

ฉันยังได้เริ่มแนะนำแนวคิดของการอนุญาต "การพัฒนา" ซึ่งอ่านบันทึกจัดเป็น อนุญาตให้แอปพลิเคชันร้องขอการอนุญาต แต่ไม่สามารถติดตั้งได้ อย่างไรก็ตามคุณสามารถ ให้สิทธิ์กับคำสั่ง adb เชลล์เมื่อติดตั้งแล้ว ในบางจุดในภายหลังฉันคาดว่าจะมี UI ในระบบสำหรับการทำเช่นนี้ แต่เราจะระงับการใช้งานเพื่อให้ระมัดระวังเกี่ยวกับวิธีการนำเสนอสิ่งนี้

ข้อความที่ตัดตอนมาจากโพสต์ใน Google Groupsโดย Dianne Hackborn วิศวกร Android Framework ความสำคัญของฉัน

คำสั่ง ADB ที่กล่าวถึงเพื่อให้สิทธิ์แก่แอปพลิเคชันในการอ่านบันทึกคือ:

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

การตั้งค่านี้จะยังคงอยู่หลังจากการรีบูตและอัปเกรดแอป (แต่ไม่ถอนการติดตั้ง / ติดตั้งใหม่)


เริ่มต้นจาก Android 4.1 คุณต้องเข้าถึงรูทเพื่ออ่านบันทึกแอพอื่น นักพัฒนา CatLog โพสต์คำอธิบาย สมมติเหล่านี้ปพลิเคชันการทำงานสำหรับ <4.1 รุ่น
Mente

1
ทางลัดนี้ไม่ได้ทำงานในเหมือง Android 4.1.2
Mente

ฉันสร้างโปรแกรมอรรถประโยชน์เพื่อรวบรวมบันทึกจากพีซี: gist.github.com/hrj/5983971
HRJ

4

คุณไม่จำเป็นต้องรูทโทรศัพท์ของคุณเพื่อทำงานadb logcatกับ Android SDK แต่ฉันเพิ่งทดสอบในTerminal Emulator ของฉันและฉันต้องเป็น root (ใช้suคำสั่ง - โทรศัพท์ของฉันรูทแล้ว) เพื่อเรียกใช้ logcat ใน ขั้วบนโทรศัพท์ของฉัน

ใช่: ถ้าคุณรูทเครื่องคุณสามารถเรียกใช้ logcat จากเทอร์มินัลในโทรศัพท์ของคุณ


1

ไม่คุณไม่ต้องการรูทเพื่อรับข้อมูล logcat

ในการทำเช่นนั้นคุณอาจต้องการดาวน์โหลด Android SDK และเรียกใช้ "adb logcat" โดยใช้เครื่องมือ adb ที่มาพร้อมกับ SDK หรือคุณสามารถติดตั้งปลั๊กอิน ADT Eclipse และใช้โปรแกรมดู Logcat แบบสตรีมมิ่งได้


ฉันต้องการทำสิ่งนี้จากโทรศัพท์ไม่ใช่จากเครื่องระยะไกลพร้อม SDK
Wulfbane

1

ไม่คุณไม่จำเป็นต้องรูทเพื่อเข้าถึง logcat อุปกรณ์ของฉัน (Samsung Galaxy Note, Gingerbread 2.3.6 พร้อมกับ ROM หุ้น) ไม่ได้ถูกรูท (ยัง!) และฉันได้ใช้วิธีการดังต่อไปนี้เพื่อเข้าถึงบันทึกบนอุปกรณ์ของฉัน:

  • แอพ CatLog
  • แอพ aLogcat
  • เปิดใช้งานแอป SSHDroid และเชื่อมต่อกับอุปกรณ์ปลายทางโดยใช้ไคลเอ็นต์ SSH
  • ใช้ Android SDK และทำงานอยู่ adb logcat

อย่างไรก็ตามแอป Terminal ไม่อนุญาตให้คุณเรียกใช้ logcat และให้ "การอนุญาตถูกปฏิเสธ" ฉันไม่แน่ใจว่าทำไม


ใช่เกี่ยวกับ Gingerbread ... แต่วันนี้ Android ไม่จำเป็นต้องมีราก
นิวแฮมป์เชียร์

1

ดูเหมือนว่าคุณไม่สามารถเรียกใช้ logcat จาก Terminal Emulator โดยไม่ต้องรูทเครื่องในโทรศัพท์ของคุณ ในกรณีนี้คุณต้อง su ก่อน AFAIK มาจากการอนุญาตของ Android: Terminal Emulator ไม่มีสิทธิ์เพียงพอในการดูบันทึกของอุปกรณ์ ดังนั้นระบบบอกว่าได้รับอนุญาตถูกปฏิเสธ

ในขณะที่คนอื่นพูดว่ามีแอพมากมายที่ให้คุณดูบันทึกของอุปกรณ์เพียงเพราะพวกเขาขออนุญาต


0

แอปพลิเคชันAndroid System Infoมีความสามารถในการส่งออกข้อมูลบันทึกไปยังหน้าจอซึ่งเท่าที่ฉันสามารถบอกได้ว่าเป็นข้อมูลบันทึกเดียวกันกับ logcat ถ่มน้ำลาย


คุณมีลิงค์ไปยังแอพนั้นฉันหามันไม่เจอใน Market?
GAThrawn

@GAThrawn ในกรณีที่คุณสนใจ: ลิงก์หน้าแรกและGoogle Play Store
Zuul

0

Logcat ไม่ต้องการรูท Simples - เป็นมาตรฐาน de-พฤตินัยทั่วกระดานในส่วนที่เกี่ยวกับ Android รุ่นต่าง ๆ และเป็นส่วนหนึ่งของ Android โดยไม่คำนึงถึงว่าคุณรูทหรือไม่และเป็นวิธีมาตรฐานในการวินิจฉัยปัญหาเช่นคุณติดตั้งแอพ แรงปิดแอพคุณบ่นกับผู้พัฒนาแอพดังกล่าวมีโอกาสสูงมากที่นักพัฒนาจะถาม "ส่งผ่าน logcat" ไม่ว่าคุณจะรูทหรือไม่ก็ตาม!

aLogCatเป็นวิธีหนึ่งในการรวบรวมข้อมูลด้วยตัวเลือกในการเข้าสู่รูปแบบหน้าเว็บหรือข้อความธรรมดาโปรดจำไว้ว่าหากคุณกำหนดเวลาให้เข้าสู่ระบบด้วยความถี่ที่แน่นอนเช่นทุก ๆ 15 นาที SDCard จะเต็มไปอย่างรวดเร็ว

อีกแง่มุมการใช้งานของ logcat จะขึ้นอยู่กับเคอร์เนลในแง่ของจำนวนที่สามารถจัดเก็บ - ในเคอร์เนลใด ๆ ที่ใช้โดย ROM แหล่งที่มาสำหรับการบันทึกจากระดับเคอร์เนลที่สำรองหน่วยความจำสำหรับบริการ logcat สามารถพบได้ในการdrivers/staging/android/logger.cใช้การกำหนดที่เหมาะสมตัวอย่างเช่น:

DEFINE_LOGGER_DEVICE (log_main, LOGGER_LOG_MAIN, 64 * 1024) DEFINE_LOGGER_DEVICE_DIVICE_DIVICE, 256 * 1024) DEFINE_LOGGER_DEVICE (1024) 1024 DEFINE_LOGGER_DEVICE

ระยะทางจะแตกต่างกันไปผู้พัฒนา ROM ดังกล่าวบางรายจะเลือกลดปริมาณการใช้เพื่อลดค่าใช้จ่ายของหน่วยความจำ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.