Jak uzyskać aktualny rozmiar rozdzielczości i DPI z wiersza poleceń / terminala / adb?

13

Mam adbdostęp do mojego telefonu z Androidem.

Wiem więc, że mogę zastąpić gęstość ekranu i rozdzielczość ekranu ampoleceniem dostarczonym z Androidem. To chyba wspaniałe i eleganckie. Ale czy istnieje sposób na pobranie tych dwóch liczb z wiersza poleceń? Wiem, że pmnarzędzie może zbierać pewne informacje, w szczególności pm list featuresaby sprawdzić, czy urządzenie z Androidem ma połączenie bezprzewodowe, bluetooth, GPS itp. pm, Ale wydaje się , że nie robi dużo więcej informacji niż to.

Pomocne byłoby wiedzieć, dla których wersji Androida obsługiwane jest to polecenie. Idealnie chciałbym coś, co działa na Androidzie 2.2+ (Froyo), ale wzięcie czegoś, co działa tylko z wersji 4.0.3+ (Ice Cream Sandwich) jest również w porządku. Chciałbym również, gdyby istniał sposób, aby rozwiązać ten problem bez dostępu do konta root.

Wiem, że można uzyskać rozdzielczość i gęstość ekranu programowo, jak opisano w tym pytaniu .

Ehtesh Choudhury
źródło

Odpowiedzi:

14

wynik i dokładny format dumpsyspolecenia zależą od dostawcy sprzętu (samego mikroukładu graficznego / sterownika i samego zestawu słuchawkowego), ale informacje te powinny być w stanie znaleźć na adb shell dumpsys displaywyjściu


źródło
5
Czy mogę zadzwonić, adb shell dumpsys display | grep mBaseDisplayInfoaby uzyskać odpowiednie informacje? Wygląda na to, że pasują do siebie, w moim nexusie 7 jest dumpsysraportowana gęstość 213i rozdzielczość 800x1280. Zgłasza także informacje o rotacji i takie porządne. Nie wiedziałem, że istniały dumpsys, ale wydaje się, że zawiera wiele użytecznych informacji, jak odnotowano tutaj: stackoverflow.com/questions/11201659/…
Ehtesh Choudhury
tak. problem polega na tym, że różne telefony mogą mieć inny format tej linii
wyświetlanie zrzutów powłoki adb | grep mRequestedMode Następnie wyświetl zrzuty powłoki adb | grep mMode = {id =, aby uzyskać informacje o trybie
Lava Sangeetham,
9

W wersjach Androida wyposażonych w narzędzie wm możesz używać poleceń:

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

(Kliknij obraz, aby powiększyć)

IMG:

Z powodzeniem testowałem na standardowym Androidzie 5.xi 6.x. Ponieważ narzędzie wm jest dostarczane z Androidem 4.3.xi 4.4.x, rozwiązanie może również na nich działać.

Firelord
źródło
Uwaga: tak, pytanie ogranicza się do archaicznej wersji Androida, ale problem wydaje się dotyczyć tylko dowolnej wersji Androida. Postanowiłem przynieść informacje nie ujęte w zaakceptowanej odpowiedzi.
Firelord
Czy ten pomiar jest w pikselach?
IgorGanapolsky
@IgorGanapolsky, że nie wiem.
Firelord
6

Jeśli displayusługa nie jest dostępna w dumpsys, możesz poszukać linii ro.sf.lcd_density=do /system/build.prop. Aby pobrać go z telefonu:

adb pull /system/build.prop
Janot
źródło