อุปกรณ์ของฉันถูกรูทแล้วนี่คือเหตุผลที่ฉันถาม
คุณต้องการรูทเพื่อตรวจสอบสตรีม logcat บนโทรศัพท์หรือไม่? ถ้าฉันใช้คำสั่ง logcat จากภายใน Terminal ในโทรศัพท์มันจะใช้งานได้ไหม
อุปกรณ์ของฉันถูกรูทแล้วนี่คือเหตุผลที่ฉันถาม
คุณต้องการรูทเพื่อตรวจสอบสตรีม logcat บนโทรศัพท์หรือไม่? ถ้าฉันใช้คำสั่ง logcat จากภายใน Terminal ในโทรศัพท์มันจะใช้งานได้ไหม
คำตอบ:
แอพฟรีเหล่านี้ในการอ้างสิทธิ์ของตลาดเพื่อให้สามารถแสดง 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
การตั้งค่านี้จะยังคงอยู่หลังจากการรีบูตและอัปเกรดแอป (แต่ไม่ถอนการติดตั้ง / ติดตั้งใหม่)
คุณไม่จำเป็นต้องรูทโทรศัพท์ของคุณเพื่อทำงานadb logcat
กับ Android SDK แต่ฉันเพิ่งทดสอบในTerminal Emulator ของฉันและฉันต้องเป็น root (ใช้su
คำสั่ง - โทรศัพท์ของฉันรูทแล้ว) เพื่อเรียกใช้ logcat ใน ขั้วบนโทรศัพท์ของฉัน
ใช่: ถ้าคุณรูทเครื่องคุณสามารถเรียกใช้ logcat จากเทอร์มินัลในโทรศัพท์ของคุณ
ไม่คุณไม่ต้องการรูทเพื่อรับข้อมูล logcat
ในการทำเช่นนั้นคุณอาจต้องการดาวน์โหลด Android SDK และเรียกใช้ "adb logcat" โดยใช้เครื่องมือ adb ที่มาพร้อมกับ SDK หรือคุณสามารถติดตั้งปลั๊กอิน ADT Eclipse และใช้โปรแกรมดู Logcat แบบสตรีมมิ่งได้
ไม่คุณไม่จำเป็นต้องรูทเพื่อเข้าถึง logcat อุปกรณ์ของฉัน (Samsung Galaxy Note, Gingerbread 2.3.6 พร้อมกับ ROM หุ้น) ไม่ได้ถูกรูท (ยัง!) และฉันได้ใช้วิธีการดังต่อไปนี้เพื่อเข้าถึงบันทึกบนอุปกรณ์ของฉัน:
adb logcat
อย่างไรก็ตามแอป Terminal ไม่อนุญาตให้คุณเรียกใช้ logcat และให้ "การอนุญาตถูกปฏิเสธ" ฉันไม่แน่ใจว่าทำไม
ดูเหมือนว่าคุณไม่สามารถเรียกใช้ logcat จาก Terminal Emulator โดยไม่ต้องรูทเครื่องในโทรศัพท์ของคุณ ในกรณีนี้คุณต้อง su ก่อน AFAIK มาจากการอนุญาตของ Android: Terminal Emulator ไม่มีสิทธิ์เพียงพอในการดูบันทึกของอุปกรณ์ ดังนั้นระบบบอกว่าได้รับอนุญาตถูกปฏิเสธ
ในขณะที่คนอื่นพูดว่ามีแอพมากมายที่ให้คุณดูบันทึกของอุปกรณ์เพียงเพราะพวกเขาขออนุญาต
แอปพลิเคชันAndroid System Infoมีความสามารถในการส่งออกข้อมูลบันทึกไปยังหน้าจอซึ่งเท่าที่ฉันสามารถบอกได้ว่าเป็นข้อมูลบันทึกเดียวกันกับ logcat ถ่มน้ำลาย
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 ดังกล่าวบางรายจะเลือกลดปริมาณการใช้เพื่อลดค่าใช้จ่ายของหน่วยความจำ ...