Dostosowywanie paska nawigacyjnego było przez cały czas ukryte w Stock Nougat… i nigdy nie wymagało rootowania

Dostosowywanie paska nawigacyjnego Androida O było w rzeczywistości ukryte przez cały czas w Androidzie Nougat. Cóż, wszyscy o tym wiedzieliśmy, ale okazuje się, że nigdy nie potrzebował rootowania!

Tutaj podniesienie rąk: ilu z Was faktycznie startuje jako pierwsi Podgląd programisty Androida O? Wersja deweloperska nie tylko jest dostępna tylko dla kilku urządzeń Google, ale naprawdę nie nadaje się jako sterownik do codziennego użytku. Oczywiście nigdy nie był przeznaczony do użytku przez przeciętnego użytkownika, ale raczej jako stanowisko testowe dla programistów, aby upewnić się, że ich aplikacje będą działać po oficjalnej premierze Androida O. Nie oznacza to jednak, że nie możemy pobawić się i zajrzeć do środka. Jedną z najbardziej ekscytujących funkcji dostępnych na urządzeniach z systemem Android O jest dostosowywanie paska nawigacyjnego znajduje się w tunerze interfejsu użytkownika systemu. Ale co by było, gdybyśmy powiedzieli Ci, że to niesamowite dostosowywanie paska nawigacyjnego jest dostępne nie tylko dla użytkowników Androida O Developer Preview? Zgadza się, właściwie to ta funkcja

działa już na systemie Android 7.X Nougat i nie wymaga dostępu do konta root.

Facepalm. Kiedy napisałem swoje samouczki dotyczące kontekstowego modyfikowania paska nawigacji na Androidzie O założyłem, że te polecenia powłoki, które wysyłałem, będą działać tylko na Androidzie O. Okazuje się, że to nieprawda – polecenia te działają naprawdę dobrze na Androidzie Nougat. Teraz, znamy się od prawie 9 miesięcy że dostosowywanie paska nawigacji można włączyć w systemie Android Nougat, jednak początkowe odkrycie wymagało tego od użytkowników zmodyfikuj plik APK SystemUI Do ujawnij preferencje tunera paska nawigacyjnego. Dla wielu użytkowników była to niewątpliwie główna przeszkoda do pokonania, ponieważ wymaga ona nie tylko dostępu do konta root, ale także dekompilacji i łatania pakietu APK SystemUI przy każdej pojedynczej aktualizacji. Jednak ty nawet tego nie robisz potrzebować aby zmodyfikować SystemUI w celu ujawnienia działania tunera paska nawigacji, i tak możesz zmodyfikować pasek nawigacji ręcznie za pomocą poleceń powłoki!

Ostrzeżenie: od niektórych użytkowników słyszymy, że dostosowywanie paska nawigacyjnego nie działa w najnowszej wersji beta Androida 7.1.2 na Google Pixel. Wypróbuj te polecenia na własne ryzyko. Ze względów bezpieczeństwa zalecam wypróbowanie tego dostosowania korzystając z aplikacji opracowanej przez paphonb opublikowane poniżej, a nie polecenia ADB. Jeśli to nie działa z jego aplikacją, NIE próbuj poleceń ADB!

Możemy potwierdzić, że to dostosowanie ukrytego paska nawigacji w systemie Android Nougat działa na następujących urządzeniach:

  • Google Nexusie 6
  • Google Nexusie 5X
  • Google Nexusie 6P
  • Google Pixel
  • Google Pixel XL
  • OnePlusa 3
  • OnePlusa 3T
  • Telefony Sony Xperia

Wydaje się, że moduł dostosowywania paska nawigacji działa na każdym urządzeniu lub pamięci ROM, z której nie usunięto implementacji AOSP, tzw większość urządzeń z fabrycznym lub zbliżonym oprogramowaniem sprzętowym opartym na systemie Android 7.X Nougat powinna działać.


Ręczna modyfikacja paska nawigacji w Androidzie Nougat działa bardzo podobnie do tego, jak działa w Androidzie O. Możesz wysłać polecenie powłoki ADB, aby zmodyfikować określone ustawienie, lub przyznać uprawnienia WRITE_SECURE_SETTINGS aplikacji takiej jak Bezpieczne zadanie Lub Narzędzia automatyczne aby mogli kontrolować i modyfikować Ustawienia. Bezpieczne preferencje sterujące przyciskami paska nawigacji. Przy użyciu Zadanie, możesz także kontekstowo modyfikować pasek nawigacyjny.

Przyznanie WRITE_SECURE_SETTINGS SecureTask lub AutoTools jest proste, ponieważ wystarczy wprowadzić jedno z następujących poleceń powłoki ADB, co nie wymaga rootowania.

Dla SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

Dla AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

Następnie składnia modyfikacji paska nawigacji jest następująca:

settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, key(KEYCODE_CONSTANT: file:///path/to/icon.png)"

Możesz zmienić układ klawiszy, dodać spacje po lewej lub prawej stronie, aby przesunąć przyciski (wpisując space doda puste miejsce do paska nawigacji) wybierz niestandardowe ikony, zmień kody klawiszy itp. jak chcesz, postępując zgodnie z tą składnią. Na przykład tutaj jest polecenie, którego użyłbym, aby dodać plik a KEYCODE_MENU przycisk i a KEYCODE_FORWARD na pasku nawigacyjnym, aby poprawić jakość przeglądania w przeglądarce Chrome:

settings put secure sysui_nav_bar "key(82:file:///storage/emulated/0/NavIcons/menu.png),back; home; recent, key(125:file:///storage/emulated/0/NavIcons/forward.png)"

Ścieżki ikon, do których odwołuje się polecenie, to ikony niestandardowe, z których pobrałem IkonyDB. Prawidłowy rozmiar ikony uzyskałem, sprawdzając gęstość wyświetlania mojego urządzenia Materiał.io następnie korelując tę ​​gęstość z odpowiedni rozmiar ikony, korzystając z tabeli referencyjnej.

Jeśli chcę przywrócić domyślny układ paska nawigacyjnego, wprowadziłbym to polecenie:

settings put secure sysui_nav_bar "space, back; home; recent, space"

Jeśli śledzisz moje tutoriale dotyczące Androida O, ta składnia będzie Ci się wydawać znajoma. Jeśli nie, to nie martw się. Jest do tego aplikacja.


Niestandardowy pasek nawigacji

Starszy członek XDA pafonb opracował aplikację o nazwie Niestandardowy pasek nawigacji to wykonuje całą pracę za Ciebie i zmienia przyciski paska nawigacji. Aplikacja jest bardzo łatwa w użyciu, ponieważ opiera się na dostosowywaniu paska nawigacji Androida O. Jednak aplikacja została zakodowana tak, aby umożliwić używanie niestandardowych ikon (podobnie jak w moim tutorialu), obejmuje możliwość tworzenia profili, między którymi można szybko się przełączać, a ponadto ma Obsługa zadań, dzięki czemu możesz kontekstowo zmieniać pasek nawigacyjny w oparciu o dowolne kryteria chcieć.

Wszystko, co musisz zrobić, to zainstalować aplikację, a następnie udzielić jej uprawnienia WRITE_SECURE_SETTINGS, wydając następujące polecenie w ADB:

adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS

Następnie, gdy otworzysz aplikację, sprawdzi ona, czy Twoje urządzenie obsługuje modyfikowanie paska nawigacyjnego. Spróbuje wyświetlić „następny” klawisz na środku paska nawigacyjnego. Jeśli się pojawi, możesz zmodyfikować pasek nawigacji. Jeśli nie, aplikacja poinformuje Cię, że nie masz szczęścia.

Aplikacja jest bezpłatny ale wymaga zakupu wersji pro, jeśli chcesz utworzyć więcej niż 2 profile. Ta aplikacja z pewnością ułatwia modyfikację paska nawigacyjnego, więc osobiście uważam, że jest tego warta, ale jeśli masz wiedzę, możesz wykonywać wszystkie funkcje oferowane przez tę aplikację za pośrednictwem Taskera i SecureTask/AutoTools.


Możliwości dostosowywania

Dzięki tej aplikacji + Tasker możesz zrobić wiele rzeczy. Opisałem wiele takich przypadków w moich tutorialach, ale oto krótka lista rzeczy, które możesz wypróbować:

  • Pokaż elementy sterujące odtwarzaniem multimediów podczas odtwarzania muzyki
  • Pokaż klawisz przewijania dalej/wstecz w Gmailu, aby szybko przeglądać e-maile
  • Pokaż klawisze przewijania strony w górę/w dół podczas korzystania z przeglądarki Chrome
  • Pokaż kursory w lewo/w prawo, gdy wyświetlana jest klawiatura
  • Pokaż przycisk menu/dalej podczas korzystania z przeglądarki Chrome
  • Wyświetlanie skrótu do kontaktów i przycisku zakończenia połączenia podczas rozmowy telefonicznej

Oto, co wymyśliłem, bawiąc się tunerem paska nawigacji w Androidzie O, ale powinny one działać tak samo z ukrytym tunerem paska nawigacji w Androidzie Nougat.

Jestem absolutnie zdumiony, że tyle czasu zajęło komuś odkrycie, że ten tuner paska nawigacyjnego działa w systemie Android Nougat bez rootowania. Myśląc o tym, ma to całkowity sens, że działa bez rootowania. W końcu mod SystemUI udostępnia tylko fragment preferencji, aby uruchomić działanie tunera paska nawigacji, to nie jest tak, że mod faktycznie dodaje tę funkcję do SystemUI - zawsze tam była. Polecenia powłoki pozwalają nam po prostu zmienić pasek nawigacyjny bez ujawniania tej aktywności SystemUI, a aplikacja paphonb po prostu ułatwia to wszystko.


Jak chcesz dostosować swój pasek nawigacyjny? Daj nam znać w komentarzach poniżej!