วิธีรับขนาดความละเอียดปัจจุบันและ DPI จากบรรทัดคำสั่ง / เทอร์มินัล / adb


13

ฉันadbเข้าถึงโทรศัพท์ Android ของฉันแล้ว

ดังนั้นฉันรู้ว่าฉันสามารถแทนที่ความหนาแน่นของหน้าจอและความละเอียดหน้าจอด้วยamคำสั่งที่มาพร้อมกับ Android นั่นเป็นเรื่องที่ยอดเยี่ยมและน่าหลงไหลฉันเดา แต่มีวิธีการจับสองตัวเลขเหล่านั้นจากบรรทัดคำสั่งหรือไม่ ฉันรู้ว่าpmยูทิลิตี้สามารถรวบรวมข้อมูลบางอย่างโดยเฉพาะอย่างยิ่งpm list featuresเพื่อดูว่าอุปกรณ์ Android มีไร้สายบลูทู ธ จีพีเอส ฯลฯpmไม่ได้ดูเหมือนจะรายงานข้อมูลมากกว่านี้

การรู้ว่า Android รองรับเวอร์ชันใดควรใช้คำสั่ง นึกคิดฉันต้องการบางสิ่งบางอย่างที่ทำงานบน Android 2.2+ (Froyo) แต่การทำสิ่งที่ใช้ได้กับ 4.0.3+ (Ice Cream Sandwich) ก็ใช้ได้เช่นกัน ฉันก็จะชอบถ้ามีวิธีการคิดออกโดยไม่ต้องเข้าถึงราก

ฉันรู้ว่าเป็นไปได้ที่จะได้รับความละเอียดหน้าจอและความหนาแน่นของโปรแกรมตามที่อธิบายไว้ในคำถามนี้

คำตอบ:


14

ผลลัพธ์และรูปแบบที่แม่นยำของdumpsysคำสั่งนั้นขึ้นอยู่กับผู้จำหน่ายฮาร์ดแวร์ (ของชิปเซ็ตกราฟิก / ไดรเวอร์และตัวเครื่อง) แต่คุณควรจะสามารถค้นหาข้อมูลนั้นในadb shell dumpsys displayผลลัพธ์ได้


5
ดังนั้นฉันสามารถโทรหาadb shell dumpsys display | grep mBaseDisplayInfoข้อมูลที่เหมาะสมได้หรือไม่ มันดูเหมือนว่าจะตรงกับขึ้นบน Nexus 7 ของฉันdumpsysรายงานความหนาแน่นที่จะเป็นและความละเอียดที่จะเป็น213 800x1280นอกจากนี้ยังรายงานข้อมูลการหมุนและความเรียบร้อย ผมไม่ทราบว่า dumpsys มีอยู่ แต่ก็ดูเหมือนว่าจะรายงานเกี่ยวกับจำนวนมากของข้อมูลที่เป็นประโยชน์ตามที่ระบุไว้ที่นี่: stackoverflow.com/questions/11201659/...
Ehtesh Choudhury

ใช่. ปัญหาคือโทรศัพท์ที่แตกต่างกันอาจมีรูปแบบที่แตกต่างกันในบรรทัดนี้

adb shell dumpsys แสดง | grep mRequestedMode แล้วadb shell dumpsys แสดง | grep mMode = {id =เพื่อรับ modeinfo
Lava Sangeetham

9

ใน Android เวอร์ชันที่มีเครื่องมือwmคุณสามารถใช้คำสั่ง:

adb shell wm size      # shows the real size and current size
adb shell wm density   # shows the real density and current density

(คลิกที่ภาพเพื่อขยาย)

IMG:

ฉันได้ทดสอบกับสต็อก Android 5.x และ 6.x เรียบร้อยแล้ว เนื่องจากเครื่องมือwmมาพร้อมกับ Android 4.3.x และ 4.4.x เช่นกันโซลูชันอาจทำงานได้เช่นกัน


หมายเหตุ: ใช่คำถามนี้ จำกัด เฉพาะรุ่น Android เก่า แต่ปัญหาดูเหมือนว่าจะเกี่ยวข้องกับรุ่น Android ใด ๆ เท่านั้น ฉันตัดสินใจที่จะนำข้อมูลที่ไม่ครอบคลุมในคำตอบที่ยอมรับได้
Firelord

การวัดนี้เป็นพิกเซลหรือไม่
IgorGanapolsky

@IgorGanapolsky ที่ฉันไม่รู้
จ้าว

6

ถ้าdisplayบริการไม่ได้อยู่ในที่มีอยู่dumpsysคุณอาจมองหาสายเข้าro.sf.lcd_density= /system/build.propวิธีรับจากโทรศัพท์:

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