Die Anpassung der Navigationsleiste war die ganze Zeit über im Stock Nougat versteckt... und es war nie Root erforderlich

Die Anpassung der Navigationsleiste von Android O war in Android Nougat tatsächlich die ganze Zeit verborgen. Nun, das wussten wir alle, aber es stellte sich heraus, dass es nie einen Root brauchte!

Handzeichen hier: Wie viele von euch laufen tatsächlich als Erster? Vorschau für Android O-Entwickler? Die Developer Preview ist nicht nur nur für eine Handvoll Google-Geräte verfügbar, sie eignet sich auch wirklich nicht als täglicher Treiber. Natürlich war es nie für die Verwendung durch den Durchschnittsbenutzer gedacht, sondern eher als Testumgebung für Entwickler, um sicherzustellen, dass ihre Anwendungen funktionieren, wenn Android O offiziell veröffentlicht wird. Das bedeutet jedoch nicht, dass wir nicht etwas Spaß haben und einen Blick auf das Innere werfen können. Eine der aufregendsten Funktionen von Android O-Geräten ist die Anpassung der Navigationsleiste befindet sich im System UI Tuner. Aber was wäre, wenn wir Ihnen sagen würden, dass diese tolle Navigationsleistenanpassung nicht nur für Benutzer der Android O Developer Preview verfügbar ist? Das ist richtig, diese Funktion tatsächlich

Funktioniert bereits auf Android 7.X Nougat und benötigt auch keinen Root-Zugriff.

Gesichtspalme. Als ich meine schrieb Tutorials zum kontextuellen Ändern der Navigationsleiste Unter Android O hatte ich angenommen, dass diese von mir gesendeten Shell-Befehle nur unter Android O funktionieren würden. Es stellt sich heraus, dass das nicht stimmt – diese Befehle funktionieren tatsächlich einwandfrei auf Android Nougat. Jetzt, Wir wissen es seit fast 9 Monaten dass die Anpassung der Navigationsleiste in Android Nougat aktiviert werden konnte, die erste Entdeckung erforderte jedoch, dass Benutzer dies tun mussten Ändern Sie die SystemUI-APK Zu Legen Sie die Einstellungen für den Navigationsleisten-Tuner offen. Dies stellte für viele Benutzer eindeutig eine große Hürde dar, die es zu überwinden galt, da nicht nur Root-Zugriff erforderlich ist, sondern auch, dass das SystemUI APK für jedes einzelne Update dekompiliert und gepatcht werden muss. Allerdings tun Sie es nicht einmal brauchen Um SystemUI so zu ändern, dass diese Navigationsleisten-Tuner-Aktivität verfügbar gemacht wird, können Sie die Navigationsleiste trotzdem manuell über Shell-Befehle ändern!

Warnung: Wir hören von einigen Nutzern, dass das Anpassen der Navigationsleiste mit der neuesten Betaversion von Android 7.1.2 auf dem Google Pixel nicht funktioniert. Probieren Sie diese Befehle auf eigene Gefahr aus. Aus Sicherheitsgründen empfehle ich, diese Anpassung auszuprobieren mit der von paphonb entwickelten App unten gepostet, anstelle von ADB-Befehlen. Wenn es mit seiner App nicht funktioniert, dann probieren Sie NICHT die ADB-Befehle aus!

Wir können bestätigen, dass diese versteckte Navigationsleistenanpassung in Android Nougat auf den folgenden Geräten funktioniert:

  • Google Nexus 6
  • Google Nexus 5X
  • Google Nexus 6P
  • Google Pixel
  • Google Pixel XL
  • OnePlus 3
  • OnePlus 3T
  • Sony Xperia-Telefone

Der Navigationsleisten-Customizer scheint auf jedem Gerät oder ROM zu funktionieren, bei dem die AOSP-Implementierung nicht entfernt wurde Bei den meisten Geräten mit serienmäßiger oder nahezu serienmäßiger Firmware auf Basis von Android 7.X Nougat sollte es funktionieren.


Das manuelle Ändern der Navigationsleiste in Android Nougat funktioniert sehr ähnlich wie unter Android O. Sie können entweder einen ADB-Shell-Befehl senden, um die jeweilige Einstellung zu ändern, oder einer Anwendung wie z. B. die Berechtigung WRITE_SECURE_SETTINGS erteilen SecureTask oder AutoTools So können sie die Einstellungen steuern und ändern. Sichere Einstellung, die die Schaltflächen der Navigationsleiste steuert. Mit Hilfe von Taskerkönnen Sie auch die Navigationsleiste kontextbezogen ändern.

Die Gewährung von WRITE_SECURE_SETTINGS an SecureTask oder AutoTools ist einfach, da Sie lediglich einen der folgenden ADB-Shell-Befehle eingeben müssen, für die Sie nicht gerootet sein müssen.

Für SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

Für AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

Dann lautet die Syntax zum Ändern der Navigationsleiste wie folgt:

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)"

Sie können das Tastenlayout neu anordnen und Leerzeichen nach links oder rechts hinzufügen, um die Tasten zu verschieben (Eingabe). space fügt der Navigationsleiste einen leeren Platz hinzu) Wählen Sie benutzerdefinierte Symbole aus, ändern Sie die Tastencodes usw. wie Sie möchten, indem Sie dieser Syntax folgen. Hier ist zum Beispiel der Befehl, den ich zum Hinzufügen eines verwenden würde KEYCODE_MENU Knopf und a KEYCODE_FORWARD Klicken Sie auf die Schaltfläche in meiner Navigationsleiste, um mein Chrome-Browsing-Erlebnis zu verbessern:

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)"

Die Symbolpfade, auf die der Befehl verweist, sind benutzerdefinierte Symbole, die ich heruntergeladen habe IconsDB. Ich habe die richtige Symbolgröße ermittelt, indem ich die Anzeigedichte meines Geräts überprüft habe Material.io Dann korrelieren Sie diese Dichte mit der Ermitteln Sie mithilfe einer Referenztabelle die richtige Symbolgröße.

Wenn ich meine Navigationsleiste wieder auf das Standardlayout zurücksetzen möchte, gebe ich diesen Befehl ein:

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

Wenn Sie meine Android O-Tutorials verfolgt haben, wird Ihnen diese Syntax bekannt vorkommen. Wenn nicht, dann machen Sie sich keine Sorgen. Dafür gibt es eine App.


Benutzerdefinierte Navigationsleiste

XDA-Senior-Mitglied paphonb hat eine Anwendung namens entwickelt Benutzerdefinierte Navigationsleiste Das erledigt die ganze Arbeit für Sie und ändert die Schaltflächen der Navigationsleiste. Die App ist sehr einfach zu verwenden, da sie auf dem Navigationsleisten-Customizer von Android O basiert. Die App wurde jedoch so codiert, dass Sie benutzerdefinierte Symbole verwenden können (ähnlich wie in meinem Tutorial), beinhaltet die Möglichkeit, Profile zu erstellen, zwischen denen Sie schnell wechseln können, und verfügt darüber hinaus über die Möglichkeit, Profile zu erstellen, zwischen denen Sie schnell wechseln können Tasker-Unterstützung, sodass Sie die Navigationsleiste je nach Ihren Kriterien kontextabhängig ändern können wollen.

Sie müssen lediglich die App installieren und ihr dann die Berechtigung WRITE_SECURE_SETTINGS erteilen, indem Sie den folgenden Befehl in ADB ausführen:

adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS

Wenn Sie dann die App öffnen, ermittelt die App, ob Ihr Gerät das Ändern der Navigationsleiste unterstützt. Es wird versucht, eine „Weiter“-Taste zentriert in Ihrer Navigationsleiste anzuzeigen. Wenn es angezeigt wird, können Sie Ihre Navigationsleiste ändern. Wenn nicht, wird Ihnen die App mitteilen, dass Sie kein Glück haben.

Die Anwendung ist frei Sie müssen jedoch eine Pro-Version erwerben, wenn Sie mehr als zwei Profile erstellen möchten. Diese Anwendung macht es sicherlich einfacher, Ihre Navigationsleiste zu ändern, daher denke ich persönlich, dass sich der Preis lohnt. Aber wenn Sie über das nötige Know-how verfügen, können Sie alle Funktionen, die diese App bietet, über Tasker und ausführen SecureTask/AutoTools.


Anpassungsmöglichkeiten

Mit dieser App + Tasker können Sie viele Dinge tun. Ich habe viele solcher Fälle geschildert in meinen Tutorials, aber hier ist eine kurze Liste einiger Dinge, die Sie ausprobieren können:

  • Beim Abspielen von Musik Steuerelemente für die Medienwiedergabe anzeigen
  • Zeigen Sie in Gmail die Vor-/Zurück-Taste an, um schnell durch E-Mails zu blättern
  • Bei Verwendung von Chrome werden die Bildlauftasten für die Seite nach oben/unten angezeigt
  • Links-/rechts-Cursor anzeigen, wenn die Tastatur angezeigt wird
  • Bei Verwendung von Chrome eine Menü-/Weiterleitungsschaltfläche anzeigen
  • Zeigen Sie während eines Telefongesprächs eine Kontaktverknüpfung und eine Schaltfläche zum Beenden eines Anrufs an

Das habe ich mir ausgedacht, als ich mit dem Navigationsleisten-Tuner in Android O herumgespielt habe, aber mit dem versteckten Navigationsleisten-Tuner in Android Nougat sollten sie trotzdem funktionieren.

Ich bin absolut erstaunt, dass es so lange gedauert hat, bis jemand herausgefunden hat, dass dieser Navigationsleisten-Tuner in Android Nougat ohne Root funktioniert. Wenn ich darüber nachdenke, macht es absolut Sinn, dass es ohne Root funktioniert. Schließlich macht der SystemUI-Mod nur das Einstellungsfragment verfügbar, um die Navigationsleisten-Tuner-Aktivität zu starten. Es ist nicht so, dass dieser Mod die Funktion tatsächlich zu SystemUI hinzufügt – sie war schon immer da. Mit den Shell-Befehlen können wir lediglich die Navigationsleiste ändern, ohne diese SystemUI-Aktivität offenzulegen, und die App von paphonb macht dies alles einfacher.


Wie möchten Sie Ihre Navigationsleiste anpassen? Lass es uns unten in den Kommentaren wissen!